2주차 - 1

이준우·2022년 11월 25일
0

Study

목록 보기
2/7

서비스 개발 및 실습

작성할 서비스는 생성, 검색, 수정, 삭제 네가지 API 이다.
퍼시스턴스 -> 서비스 -> 컨트롤러 순으로 구현한다

로그 어노테이션

용도에 따라 크게 info, debug, warn, error으로 나누고 이를 로그 레벨이라고 부른다. Slf4j라이브러는 로그계의 JPA 이다. @Slf4j는 로그에 따라 Syste.out.println을 해주는 어노테이션이다.

Create Todo 구현

퍼시스턴스 구현


엔티티 저장을 위해 JpaRepository가 제공하는 save메소드를 사용하고, 새 Todo 리스트를 반환하기 위해 findByUserId()메서드를 사용.

서비스 구현

서비스 추가를 위해 TodoService에 create메서드를 작성. 메서드는 크게 3 단계로 구성되어 있다.

  • 검증 : 넘어온 엔티티가 유효한지 검사하는 로직. 이 부분은 코드가 더 커지면 TodoValidator.java로 분리할 수 있다.
  • Save() : 엔티티를 DB에 저장한다. 로그를 남긴다.
  • findByUserId() : 저장된 엔티티를 포함하는 새 리스트를 리턴한다.

코드 리팩토링

검증 부분은 다른 메서드에서도 계속 쓰일 예정이므로 private method로 리팩토링한다.

컨트롤러 구현

HTTP 응답을 반환할 때, 비즈니스 로직을 캡슐화하거나 추가적인 정보를 함께 반환하기 위해 DTO를 사용한다. 따라서 컨트롤러는 유저에게서 TodoDTO를 요청 바디로 넘겨받고, 이를 TodoEntity로 변환해 저장해
야 하며 또 TodoService의 create()이 리턴하는 TodoEntity를 TodoDTO로 변환해 리턴해야한다.

TodoDTO, toEntity 메서드 작성

TodoContoroller - createTodo

Retrieve Todo 구현

퍼시스턴스 구현

TodoRepository 사용

서비스 구현


TodoService의 retrieve 메서드

컨트롤러구현


TodoController - retireveTodoList

Update Todo 구현

퍼시스턴스 구현

TodoRepository 사용

서비스 구현


TodoService - update

TodoController - updateTodo

Delete Todo 구현

퍼시스턴스 구현

TodoRepository 사용

서비스 구현


TodoService - delete

컨트롤러 구현


TodoController - deleteTodo

profile
잘 살고 싶은 사람

0개의 댓글