controller 패키지 생성(Create) > MemoController.java
@RequiredArgsConstructor // final 선언변수를 가지는 생성자 자동생성
@RestController
public class MemoController {
private final MemoRepository memoRepository;
private final MemoService memoService;
@PostMapping("/api/memos") // 생성이니까 post
public Memo createMemo(@RequestBody MemoRequestDto requestDto){ // @RequestBody 로 body 의 데이터를 Dto 에 받아온다는걸 명시
Memo memo = new Memo(requestDto); // requestDto 가 Memo로 들어와 채워준다
return memoRepository.save(memo); // reqository 에 memo값을 저장하여 리턴
}
}
Read
@GetMapping("/api/memos")
public List<Memo> getMemos() {
return memoRepository.findAllByOrderByModifiedAtDesc();
}
delete
@DeleteMapping("/api/memos/{id}")
public Long deleteMemo(@PathVariable Long id) { // @PathVariable 매개변수가 위 경로의 {id}임을 알려줌
memoRepository.deleteById(id);
return id;
}
update
@PutMapping("/api/memos/{id}")
public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto){
memoService.update(id, requestDto);
return id;
}
ARC로 테스트까지 완료
'타임라인 만들기 Project' 카테고리의 다른 글
writePost - 메모 생성하기 (0) | 2020.11.22 |
---|---|
HTML, CSS (0) | 2020.11.22 |
Service (0) | 2020.11.20 |
Repository 만들기 (0) | 2020.11.19 |
프로젝트 만들고 API 설계하기 (0) | 2020.11.18 |