전체 글

Spring/Security

Spring Security) Spring Boot 3.1.0, Spring 6.1, Spring Security 6.1

Springboot 3.1.0 환경에서 Spring Security로 인증 방식을 구현하던 중 FilterChain 등록 코드에서 deprecated 에러 사인이 등장했다. Spring Security 6.1.0 SpringBoot 3.1.0 버전은 Spring Security 6.1.0 버전을 dependency 한다. 람다 DSL 사용 Lambda DSL은 버전 5.2부터 Spring Security에 있으며 람다를 사용하여 HTTP 보안을 구성할 수 있습니다. HTTP 보안의 람다 구성이 이전 구성 스타일과 어떻게 비교되는지 살펴보겠습니다. 람다를 사용한 구성 (lamda DSL) @Configuration @EnableWebSecurity public class SecurityConfig { @B..

Spring/오류

No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator

CommentSaveRequestDto public class CommentSaveRequestDto { private User user; private Post post; private String content; private Comment comment; public Comment toEntity(User user, Post post) { return Comment.builder() .user(user) .post(post) .content(content) .parent(comment) .build(); } } CommentController @PostMapping("/api/v1/post/{postId}/comment") public ResponseEntity save(@RequestBody Co..

Spring/Rest Docs

Spring REST Docs 필요한 기능들

pretty print 기본적으로 요청과 응답의 body가 텍스트로 쭉 나열된다. 크기가 작으면 상관 없지만, json 객체가 커진다면 제대로 확인하기 힘들어진다. pretty print 기능은 말 그대로 예쁘게 포매팅해준다. 스니펫을 모아 DocumentFilter를 만들때 넣어주면 된다. 기본 설정으로 사용하려면 초기화할때 넣어준다. mvc = MockMvcBuilders .webAppContextSetup(context) .apply(documentationConfiguration(restDocumentation) .operationPreprocessors() .withRequestDefaults(prettyPrint()) .withResponseDefaults(prettyPrint())) .bui..

Spring/Rest Docs

Spring Rest Docs: pathParameters 사용법 urlTemplate not found. If you are using MockMvc did you use RestDocumentationRequestBuilders to build the request?

https://docs.spring.io/spring-restdocs/docs/3.0.0-SNAPSHOT/reference/htmlsingle/#documenting-your-api-query-parameters Spring REST Docs Document RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test or WebTestClient. docs.spring.io 이 글을 읽으면 더 자세하게 알 수 있다. 발생한 에러 해결방법 이유 Spring REST Docs는 MockMvc를 사용하여 API 요청을 모방하고 테스트하는데, MockMvc는 Spr..

백준 오답노트

백준: 15864 사다리 조작 / 틀린 이유

처음 접근한 코드 import java.util.*; import java.io.*; public class Fail { public static int n, m, h; public static int result; public static int[][] arr; public static int[][] map; public static boolean[][] visit; public static Queue q = new LinkedList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenize..

백준 오답노트/백트래킹

2차원 배열 복제를 실수하지 말자.

a라는 2차원 배열에 값이 들어있다고 가정하자. b라는 배열에 a의 값을 그대로 사용하고 싶었는데 b = a; 이런 식으로 사용했었다 그러나 이 방식은 틀린 방식이다. for (int i = 0; i < n; i++) { b[i] = a[i].clone(); } 이렇게 사용해야 된다!

초보병일이
초보 성장기