Controller
- MemoController.java 생성
- @PostMapping, @GetMapping, DeleteMapping 으로 api 만들기
@RequiredArgsConstructor
@RestController
public class MemoController {
private final MemoRepository memoRepository;
private final MemoService memoService;
@PostMapping("/api/memos")
public Memo createMemo(@RequestBody MemoRequestDto requestDto){
Memo memo = new Memo(requestDto);
return memoRepository.save(memo);
}
@GetMapping("/api/memos")
public List<Memo> readMemo() {
return memoRepository.findAllByOrderByModifiedAtDesc();
}
@PutMapping("/api/memos/{id}")
public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto){
memoService.update(id, requestDto);
return id;
}
@DeleteMapping("/api/memos/{id}")
public Long deleteMemo(@PathVariable Long id){
memoRepository.deleteById(id);
return id;
}
}
더 공부하고 싶은 것
- post api 메소드의 자료형이 memo 인 이유: 반환값이 memo 이면 자료형도 memo가 되는 건지
- api 테스트를 했을 때 1번 id 자료를 삭제한 다음 새로 자료를 추가하면 자동으로 2번이 되고 다시 get을 해도 삭제된 1번은 없었다. id를 한번 삭제하면 영구 삭제되는 건지 궁금하다.