반응형

Validation 3

5편. Validation과 Exception Handling - 오류는 어디서 처리해야 하는가?

요청 데이터가 Controller 메서드의 파라미터로 정상적으로 변환되었다면, 다음으로 고려해야 할 것은 입력 값이 올바른지, 그리고 문제가 발생했을 때 이를 어떻게 응답할 것인지다.Spring Web MVC는 이 두 문제를 Validation과 Exception Handling이라는 메커니즘으로 분리해 다룬다.1. Validation의 역할Validation은 요청 데이터가 비즈니스 로직을 수행하기에 적절한 상태인지 검증하는 과정이다.여기서 중요한 점은, Validation이 에러 처리의 시작점이라는 것이다.형식이 잘못된 요청필수 값이 누락된 요청허용 범위를 벗어난 값이런 문제들은 비즈니스 로직이 실행되기 전에 차단되어야 한다.2. Bean Validation 기반 검증Spring Web MVC는 Be..

[Spring 공식문서 정리] 18. Validation – 검증은 어느 단계에서 일어날까?

17편에서는 ExceptionResolver를 통해 요청 처리 중 발생한 예외가 어디서, 어떤 순서로 HTTP 응답으로 변환되는지를 살펴봤습니다.이번 글에서는 그보다 한 단계 앞에서 동작하는 검증(Validation)에 대해 다뤄보겠습니다.잘못된 요청은 컨트롤러 로직까지 가야 할까?Spring MVC의 대답은 “아니다” 입니다.1. Spring MVC에서 Validation의 위치Validation은 요청 처리 흐름에서 컨트롤러 메서드가 실행되기 전에 수행됩니다.정확한 위치를 정리하면 다음과 같습니다.HandlerMapping – 컨트롤러 선택HandlerAdapter – 실행 준비ArgumentResolver – 파라미터 생성Validation – 생성된 파라미터 검증컨트롤러 메서드 실행즉, Valid..

[Spring Boot 공식 문서 정리] 16. Configuration Properties 제대로 쓰기

15편에서는 Metrics & Monitoring을 통해 운영 판단에 필요한 관측 기준을 정리했다.이번 글에서는 그 판단의 출발점이 되는 설정(Configuration)을 어떻게 다뤄야 하는지, 특히 @ConfigurationProperties를 중심으로 “제대로 쓰는 기준”을 정리한다.설정은 단순한 값 모음이 아니다. 잘 설계하면 구조를 안정시키고, 잘못 설계하면 장애의 시작점이 된다.1) @Value는 편하지만, 구조를 남기지 않는다Spring을 처음 쓰면 설정 값을 이렇게 읽기 시작한다.@Value("${external.api.timeout}")private long timeout; 이 방식은 간단하고 빠르다. 하지만 프로젝트가 커질수록 문제가 드러난다.설정 값이 여기저기 흩어진다어떤 설정이 한 ..

반응형