SPRING27 [Gradle] package lombok.extern.slf4j does not exist Project Metadata Project: Gradle Project Language: Java 11 Framework : Spring Boot: 2.5.x QueryDSL관련 의존성 추가 후 Gradle build를 했지만 "lombok.extern.slf4j does not exist"라는 메시지와 함께 빌드에 실패하였다. 해결방법 검색 결과 테스트코드 어노테이션이 처리될 때에 명시적으로 lombok사용을 명시해줘야 된다고 한다. build.gradle 파일에 옵션을 추가하여 해결한다. dependencies { // dependency 추가 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:l.. 2022. 10. 4. [SPRING] @WebMvcTest의 Controller테스트 @WebMvcTest는 오로지 Controller계층에 대한 테스트를 할 때 사용하는 Controller를 위한 테스트 어노테이션으로 Scan의 대상이 제한되어 통합 테스트보다 가볍고 빠르게 Controller계층의 테스트가 가능하다. @WebMvcTest Scan의 대상 @Controller @ControllerAdvice @JsonComponent Converter GenericConverter Filter WebMvcConfigurer, HandlerMethodArgumentResolver WebSecurityConfigurerAdapter MockMvc의 주입을 지원하여 MockMvc를 활용한 HTTP 요청을 바로 사용할 수 있다. // 테스트 대상 Controller @WebMvcTest(con.. 2022. 9. 18. [SPRING] HttpServletRequest InputStream의 주의사항 Filter에서 요청정보에 대한 로그를 출력하기 위한 작업을 한 후 컨트롤러에서 데이터 매핑이 안 되는 현상이 발생했다. 확인 결과 HttpServletRequest의 InputStream을 읽은 게 화근이었다. 스프링의 컨버터가 요청 Body의 데이터를 읽을 수 없으니 데이터 매핑이 될 수가 없는 것이었다. 사실상 유실이라고 봐야겠다 HttpServletRequest의 InputStream은 한 번 읽으면 다시 읽을수 없다고 한다 - 톰캣의 정책 ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); Ht.. 2022. 8. 1. [SPRING] 쿠키활용법 주로 브라우저에 저장해도 보안상 문제가 없는 데이터를 쿠키를 통해 사용하는데 스프링에서 쿠키를 생성하고 조회하는 방법에 대해 학습한 내용을 정리합니다. 쿠키종류 쿠키는 생성할 때 만료 날짜 입력 여부에 따라 속성이 달라지는데 만료 날짜가 없다면 세션쿠키로 브라우저 종료 시 삭제된다. 만료날짜가 있다면 영속 쿠키로 만료 날짜까지 유지된다. 쿠키생성 @GetMapping("/cookie") public String createCookie(HttpServletResponse response) { Cookie cookie = new Cookie("cookieName", LocalDateTime.now().toString()); // 쿠키의 key, value 입력 cookie.setMaxAge(120); // .. 2022. 7. 21. 이전 1 2 3 4 5 ··· 7 다음