인프런 커뮤니티 질문&답변

박은지님의 프로필 이미지
박은지

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

유효성 체크를 위한 Validation API 사용

예외 핸들메서드 반환값 - 상태코드 관련

작성

·

182

1

안녕하세요. 좋은 강의 감사합니다. 

강의 듣던 중 궁금한 점이 있어 질문 드립니다. 

  @Override
    public ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex
            , HttpHeaders headers
            , HttpStatus status
            , WebRequest request) {
        ExceptionResponse exceptionResponse = new ExceptionResponse(LocalDateTime.now(),
                "Validation Failed", ex.getBindingResult().toString());
        return new ResponseEntity<>(exceptionResponse, HttpStatus.BAD_REQUEST);
    }

오버라이드한 위 메서드의 파라미터에 HttpStatus status 값도 받고 있는데요 

리턴할때 ResponsEntity<>(body, status) 로 위의 파라미터의 status값을 그대로 쓰면 안되나요?

파라미터에서 넘겨주는 값도 콘솔에 찍어보면 BAD_REQUEST가 찍히는데 HttpStatus.BAD_REQUEST 이렇게 다시 리턴하는건 어떤 이점이 있는지 궁금합니다

감사합니다

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

말씀하신 것처럼 status 값을 그래도 반환해도 상관없습니다. 코드에서는 단지 어떤 status 코드가 요청되더라도(어떤 오류가 발생하더라도) 사용자에게는 BAD_REQUEST라는 단일 에러 코드를 전달하기 위해서 지정한 것입니다.

감사합니다. 

박은지님의 프로필 이미지
박은지

작성한 질문수

질문하기