스프링 관련/스프링16 dto 패키지 구성 기본 뼈대 - dto -- --- request --- response 각 Entity 별로 사용하는 request와 response dto 객체를 위 정의한 경로에 만들어서 관리 기본적으로 DTO Request 객체는 아래와 같이 별 다른 메서드 없이 간결하게 작성하여 사용 @AllArgsConstructor @NoArgsConstructor @Getter public class SampleEntityRequest { private Long id; private String name; } 기본적으로 DTO Response 객체는 편의상 Entity 인스턴스를 인자로 받아서 Response DTO 객체로 반환하는 static Method를 많이 구현하여 사용하는 경향 자주 보임 @Data @.. 2023. 1. 15. exception 패키지 구성 기본 뼈대 - exception -> 사용자정의 exception class -> 사용자정의 exception class Handling하는 클래스 -> 에러코드 enum 클래스 https://charactermail.tistory.com/490 @RestControllerAdvice, @ExceptionHandler(RuntimeException.class) 이용한 예외처리 분리 @RestControllerAdvice : 스프링 빈에 등록된 @Controller, @RestController 클래스 전체 대상으로 @ExceptionHandler를 적용할 수 있는 설정 @ExceptionHandler : @Controller, @RestController 클래스 안에서 예외가 발생한 것을 c.. 2023. 1. 15. controller 패키지 구성 기본 뼈대 - controller -> AbstractController.java / 서버에서 응답하는 Response 값 Generic으로 Mapping하는 메서드 가진 추상클래스 -- --> 각 entity 별 controller Controller에서 서버 Response 공통 포맷으로 응답하는 로직은, 강의중에서 조금 더 복잡하게 구현된 예제 내용으로 커밋함. Response는 아래 2번째 이미지 참조. controller 공통 응답 좀 더 심플하게 구현하려면 아래 Generic Response, Controller 소스코드 참고하여 구현하면 될 것으로 생각됨. @Getter @AllArgsConstructor public class Response { private String re.. 2023. 1. 15. repository 패키지 구성 기본 뼈대 - repository -- 예시 @Repository public interface PostEntityRepository extends JpaRepository { Page findAllByUser(UserEntity entity, Pageable pageable); @Transactional @Modifying @Query("UPDATE PostEntity entity SET deleted_at = NOW() where entity.id = :post") void deletePost(@Param("post") Integer postEntity); } 2023. 1. 15. 이전 1 2 3 4 다음