Spring10 [Spring] @(Rest)ControllerAdvice 활용 0. 이 글을 쓰게된 이유 미션을 진행하며 (Rest)ControllerAdvice를 사용하여 예외를 처리하였다. 원래 (Rest)ControllerAdvice가 예외를 처리할 때에만 사용하는줄 알았는데 활용할 수 있는 부분이 많은 기능이었다. 그 부분에 대해 알아보기 위해 이 글을 쓰게 되었다. 1. @(Rest)ControllerAdvice란? Spring 공식 문서에 따르면 @(Rest)ControllerAdvice가 붙은 빈은 모든 @Controller이 붙은 빈에서 사용하는 @ExceptionHandler, @InitBinder, @ModelAttribute(글 쓰기 쉽게 세가지 기능이라고 부르겠다.)가 붙은 메소드들을 한번에 처리할 수 있도록 해주는 기능이다. Controller에서 @Exce.. 2023. 4. 13. [Spring] @Valid, @Validated 동작 원리 0. 이 글을 쓰게 된 이유 개발을 할 때, 데이터의 유효성 검증은 굉장히 중요하고 애플리케이션 전체에서 발생한다. 클라이언트에서 넘어온 데이터가 유효한지, 서비스 레이어에서 파라미터 값이 제대로 된 값인지 등 여러 곳에서 데이터 검증은 필수다. 하지만 유효성 검증에는 이런 특징이 있는 만큼 문제점이 존재한다. 문제점 애플리케이션 전체에 분산되어 있다. 코드 중복이 심하다. 비즈니스 로직에 섞여있어 복잡하다. 이러한 문제점들 때문에 유효성 검증은 유지/보수가 어렵다. 해결책 Java에서도 이러한 문제를 알고 Bean Validation이라는 유효성 검증 프레임워크를 제공하고 있다(JSR-303 표준 스펙). Bean Validation 프레임 워크는 위에서 말한 문제들을 해결하기 위해 다양한 제약을 모델.. 2022. 10. 20. [Spring] Spring Security에 대해서 알아보자(로그인 인증 구조) 이 글을 쓰게 된 이유 동작과정편에서 설명했던 것처럼 이번 글은 로그인 과정에 대해서 알아보고 활용하는 것까지 예시를 통해 알아보자. 이 글을 완벽하게 이해하기 위해서는 앞선 동작 과정편을 보고 오는 것을 추천한다. 1. 로그인 인증 구조 동작과정편에서 설명한 것처럼 인증은 filter에 의해서 진행되고 DelegatingFilterProxy로 등록된 FilterChainProxy 빈을 이용한 SecurityFilterChain으로 진행되게 된다. 아래 그림과 같다. 1.1 AbstractAuthenticationProcessingFilter SecurityFilterChain 안에는 spring security에서 제공하는 여러가지 filter들이 있다고 했었다. 이때 Authentication(로그인.. 2022. 9. 28. [Spring] Spring Security에 대해서 알아보자(동작 과정편) 이 글을 쓰게 된 이유 처음으로 spring security를 사용하게 되면서 큰 어려움에 부딪혔다.. 그리고 막상 찾아보려고 하니 마땅한 자료가 조금 부족한 느낌이었고 공식 문서를 보면서 학습하려니 쉽지 않았다. 아무튼 나 같은 사람들을 위해 내가 며칠동안 고민하고 이해한 내용들을 정리해보려고 한다. 물론 spring security은 더 깊고 넓은 내용이 있다. 일단 큰 틀과 그 틀을 활용하는 기본적인 방법들에 대해서 찍먹해보자. 0. Spring Security 학습 방향 spring security를 학습하며 '다른 부분을 모르고 지금 이걸 읽어도 되나?'라는 생각이 지속적으로 들었다. 나는 야생형 학습 스타일이라서 사용하면서 부족한 부분을 채우는 편인데도 불구하고 spring security는 .. 2022. 9. 28. 이전 1 2 다음