작성할 서비스는 생성, 검색, 수정, 삭제 네가지 API 이다.
퍼시스턴스 -> 서비스 -> 컨트롤러 순으로 구현한다
용도에 따라 크게 info, debug, warn, error으로 나누고 이를 로그 레벨이라고 부른다. Slf4j라이브러는 로그계의 JPA 이다. @Slf4j는 로그에 따라 Syste.out.println을 해주는 어노테이션이다.
엔티티 저장을 위해 JpaRepository가 제공하는 save메소드를 사용하고, 새 Todo 리스트를 반환하기 위해 findByUserId()메서드를 사용.
서비스 추가를 위해 TodoService에 create메서드를 작성. 메서드는 크게 3 단계로 구성되어 있다.
검증 부분은 다른 메서드에서도 계속 쓰일 예정이므로 private method로 리팩토링한다.
HTTP 응답을 반환할 때, 비즈니스 로직을 캡슐화하거나 추가적인 정보를 함께 반환하기 위해 DTO를 사용한다. 따라서 컨트롤러는 유저에게서 TodoDTO를 요청 바디로 넘겨받고, 이를 TodoEntity로 변환해 저장해
야 하며 또 TodoService의 create()이 리턴하는 TodoEntity를 TodoDTO로 변환해 리턴해야한다.
TodoDTO, toEntity 메서드 작성
TodoContoroller - createTodo
TodoRepository 사용
TodoService의 retrieve 메서드
TodoController - retireveTodoList
TodoRepository 사용
TodoService - update
TodoController - updateTodo
TodoRepository 사용
TodoService - delete
TodoController - deleteTodo