현재 상황 @RequestMapping(value="주소", method=RequestMethod.GET) public String 상품리스트 불러오기(HttpServletRequest request, Model model, 도메인종류, @PathVariable String 상품분류, @ModelAttribute("검색을 위한 DTO")검색을위한DTO 검색DTO ) throws ParseException{ 상품종류검색을위한 DTO 선언 상품종류검색을위한 DTO . set상품종류ID 상품종류검색을위한 DTO. set서브도메인을 위한 메서드(도메인종류. 현재사이트의 도메인) // 서브도메인으로 구성된 경우 별도 db분기처리를 위함 상품종류VO 상품종류 = 상품서비스.상품리스트 불러오기(상품종류검색을위한 DT..
API 분리별도 상품종류에 대한 설정 코드를 api 로 분리하기상품종류 선언 별도 속성에 대해 설정함. 서비스를 통해 상품종류에 대한 조회(VO)를 DTO 로 해당 종류에 대해 조회할 수 있도록 설정함REST CONTROLLER@RestController("/api/board") @RequiredArgsConstructor @Slf4j public class 상품API{ private final 상품서비스 상품서비스; @GetMapping("/config/list/{bcId}") public ResponseEntity 상품설정정보조회(@PathVariable("상품정보") String 상품정보, 상품설정정보DTO 상품설정정보DTO) { 상품설정 상품설정= 상품서비스.상품설정정보조회(상품설정정보DTO); ..
공통 API 와 특수 API 분리기본적인 공통 API 인 경우 가장 많이 사용되는 필드만 포함시키고,특수한 경우 별도의 API 와 DTO 를 제공하는 것이 좋다고 한다.// 공통 API용 DTO public class UserCommonDTO { private final String username; private final int age; // 생성자, getter 등 }// 특수한 경우를 위한 별도의 API용 DTO public class UserSpecialDTO extends UserCommonDTO { private final String additionalInfo; // 생성자, getter 등 } Uploaded by N2T
MapStruct 사용라이브러리에서 별도 mapStruct 를 사용도전빈 정의 관련 오류 발생Consider defining a bean of type in your configuration.해결@Mapper(componentModel = "spring") public interface BoardConfigConverter { // 매핑 메서드 }componentModel 추가하여 Spring 의 빈으로 등록되게 해야한다.잘 적용된 이후 gradle 에서 classes 명령어를 돌려보면이 생성되며, = boardConfigConverter.toEntity(boardConfigDto);DTO를 정상적으로 VO 로 변환할 수 있다. (향후 Jpa 도입까지 생각하여 toEntity 로 정의함) Uploaded..
리팩토링 진행시 별도 생성자를 만들어야하는 경우가 발생함.생성자는 최대한 작을 수록 좋은 건 사실이다.최대한 입구가 좁아야 유효성 검사 등의 로직을 한 곳에서 집중할 수 있기 때문이다.하지만!자바 + 스프링에서는 하이버네이트나 javax 에서 제공하는 필드에 대한 유효성 검사 어노테이션이 존재한다.이를 통해 생성자라는 입구가 많아 져도 제어가 가능하지 않을까 싶다.그래서 별도의 private 생성자를 만들고 FM 메서드로 해당 생성자로 이어지도록 설정하려고했다.private 상품설정(@NotNull String 종류아이디) { this.종류아이디= 종류아이디; } public static 상품설정 from(@NotNull String 종류아이디) { return new BoardConfig(종류아이디);..
현재 버전Java 1.8Spring Boot 2.4.5현재스프링 부트 2.4.x 의 특징구성 파일 처리의 개선점프로필 정의 방식의 변경2.4 이전application-{profile}.yml 형식의 파일을 작성하고spring.profiles.include 를 이용하여 해당 프로파일을 호출 하였음.//application-honeymon.yml honeymon: root-uri: http://honeymon.io github: https://github.com/ihoneymon //application.yml spring.profiles: include: - honeymon2.4 이후직접 원하는 구성 파일을 명시저긍로 불러올 수 있게 됨.//honeymon.yml honeymon: root-uri: htt..