반응형

Error Handling 2

HTTP Status Code - 숫자가 아니라 계약이다

HTTP 응답에서 가장 눈에 띄는 정보는 Status Code다.많은 경우 상태 코드는 “대충 성공이면 200, 실패면 400이나 500” 정도로 사용된다.하지만 RFC에서 정의하는 HTTP Status Code는 단순한 숫자가 아니라, 요청과 응답 사이의 명확한 계약이다.이 글에서는 HTTP Status Code가 무엇을 약속하는지, 그리고 왜 정확하게 사용해야 하는지를 RFC 기준으로 정리한다.1. HTTP Status Code의 역할HTTP Status Code는 요청 처리 결과를 서버의 공식 입장으로 표현하는 수단이다.응답 본문보다 먼저 해석되는 정보이기도 하다.클라이언트, 프록시, 캐시는 응답 본문을 보지 않고도 Status Code만으로 다음 동작을 결정할 수 있다.즉, Status Code는..

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

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

반응형