@RestControllerAdvice 2

스프링부트: 시큐리티- 회원가입, 로그인 기능 추가하기, swagger 로그인 하기, @ControllerAdvice

스프링부트 - 코틀린 - 스프링 시큐리티를 사용해서 회원가입, 로그인 기능을 구현한 내용을 기록해둔다. 상세한 내용들은 워딩만 알면 구글링을 하든 GPT에게 물어보든 얼마든지 알 수 있다. 여기서는 전체적인 개념과 작동원리가 어떻게 되는지 개략적으로 살펴본다. 1. 스프링 시큐리티 회원가입, 로그인 기능 추가 라이브러리 상기 언급한 스택에서 기본적인 라이브러리는 설치한다. spring-security는 3.1.5 버전을 사용했다. implementation("org.springframework.boot:spring-boot-starter-security:3.1.5") 목표 JWT 토큰을 활용한 회원가입/로그인 처리를 한다. Refresh 토큰은 처리하지 않는다. 나중에 migration 해도 된다. Ro..

Project/Poppin 2023.12.25

[TIL] 커스텀 Exception 만들기 : @ExceptionHandler, @ResponseStatus, @RestControllerAdvice, super()

1. 목적과 상황 클라이언트에서 온 HttpRequest에 대해서 Exception을 통해 Http status와 Json 코드를 HttpResponse로 반환하고자 한다. 다음 코드와 같이 특정 엔티티 객체를 찾고자 했는데, 못찾았을 경우 orElseThrow()를 통해 특정 Exception을 반환하는 상황이다. XxxEntity xxxEntity = xxxRepository.findById(id) .orElseThrow(() -> new CustomException("xxx.error.not.found")); CustomException은 여러가지 Exception들을 한 번에 모아놓고 @RestControllerAdvice로 처리하는 클래스 파일 내부에 정의한다. @Slf4j @RestContro..