Spring : Controller

김선미·2022년 6월 16일

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를 한번 삭제하면 영구 삭제되는 건지 궁금하다.
profile
백엔드 개발 공부

0개의 댓글