Spring(3)
-
[Security] UserDetails 반환 시, password 는 null 이다. 왜?
JWT 기반 로그인을 구현하던 중... 사용자의 입력 password를 이용해 데이터를 만들고 싶었다. 그렇기에 먼저 선처리로 사용자 입력 id와 password 가 정확한지 검증을 하였는데.... password 가 사라지는 것이었다. 정확히는 AuthenticationManagerBuilder에게 전달한 토큰을 Authentication 타입으로 받으면 password 가 null 이 되는 상황이다. // 인증을 위임하기 위해, 토큰을 authenticationManagerBuilder 에게 전달 Authentication auth = authenticationManagerBuilder .getObject() .authenticate(usernamePasswordAuthenticationToken);..
2021.05.17 -
[Lombok] @Builder 오류 - InvalidDefinitionException
Springboot 테스트 코드 작성 중... InvalidDefinitionException 이 발생하였고 @Builder 를 사용한 객체를 인스턴스화 하는 라인에서 오류가 나는 걸 확인하였다. 오류 메시지는 다음과 같다. HttpMessageConversionException: Type definition error: [simple type, class com.example.userservice.dto.RequestUser]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.example.userservice.dto.RequestUser` (..
2021.04.08 -
Spring Rest Docs 적용 (1)
Spring Rest Docs 란? API 문서 자동화 도구 현재 운영 중인 API 스펙과 API 문서를 동일하게 관리하기 위한 목적 - API 스펙이 변경 될 때마다 문서 최신화를 위한 Update가 필요하지만 안되는 경우가 종종 있다. API 스펙에 따른 Test Code 를 강제로 작성해야만 하며 문서화하지 않으면 Test Case 가 실패한다. - 즉, Rest Docs 로 된 문서는 항상 최신화가 되어 있으며, 신뢰감을 줄 수 있는 문서이다. 자동화 도구에는 대표적으로 Swagger와Spring Rest Docs 가 있다. Spring Rest Docs와 Swagger 적용 스펙 SpringBoot 2.4.3 Gradle 6.7.1 JUnit 5 Spring REST Docs (MockMvc) ..
2021.03.02