validation 2

Spring Boot 검증(Validation)과 에러 응답 표준화: @Valid부터 @ControllerAdvice까지

Spring Boot 3에서 @Valid, BindingResult, @ControllerAdvice로 입력 검증을 적용하고, 공통 에러 응답 포맷을 설계해 일관된 API를 만드는 방법을 정리합니다.도입 (문제 상황)API를 만들다 보면 “필수값이 빠졌는데 500이 떨어져요”, “어떤 API는 errors 배열이고 어떤 API는 message 하나예요” 같은 상황을 자주 만나게 됩니다. 검증은 넣었는데 응답 포맷이 제각각이라 프런트/모바일에서 예외 처리가 더 어려워지기도 해요. 이 글에서는 Spring Boot 3 기준으로 검증과 에러 응답을 한 번에 정리해 보겠습니다.핵심 개념: Spring Boot Validation이 중요한 이유와 표준화 포인트검증(Validation)은 단순히 “값이 비었는지”를..

Spring Boot 2026.03.10

Spring Boot에서 @ConfigurationProperties로 설정을 타입 안전하게 받기 (Value 남용 탈출)

@Value를 남용할 때 생기는 유지보수/검증 문제를 정리하고, Spring Boot 3의 @ConfigurationProperties + Validation로 설정을 타입 안전하게 분리하는 방법을 예제로 보여드립니다.도입 (문제 상황)@Value("${...}")를 여기저기 붙여서 설정을 읽다 보면, 어느 순간 “이 설정이 어디서 쓰이지?”를 추적하기가 꽤 힘들어집니다. 게다가 숫자/URL/시간 같은 값이 문자열로 흘러다니다가 런타임에야 터지는 경우도 자주 보게 됩니다. 설정을 타입 안전하게 받고, 검증까지 한 번에 묶어두는 방법이 필요합니다.핵심 개념 — Spring Boot @ConfigurationProperties가 중요한 이유Spring Boot에서 설정을 다루는 방식은 크게 두 가지로 나뉩니..

Spring Boot 2026.03.08