API를 개발하다 보면 유효성 검사(Validation)는 필수입니다.보통 DTO 검증을 위해 @Valid를 많이 사용하시지만, 개발하다 보면 @RequestParam이나 @PathVariable, 혹은 List 형태를 검증해야 하는 상황이 오게 됩니다.이때 자연스럽게 @Validated를 도입하게 되는데, 여기서 당황스러운 상황이 발생합니다."어? @Valid는 400 에러를 주는데, @Validated는 왜 500 에러가 나지? 게다가 응답 JSON 모양도 완전히 다르네?" 프론트엔드 담당자분이 "어떨 때는 errors 배열을 보고, 어떨 때는 message를 파싱해야 하나요?"라고 물어보면 정말 난감하죠.오늘은 이 두 가지 검증 방식의 차이를 명확히 짚고, ResponseEntityException..