포스트

Spring MVC에서 HTTP 400 오류 응답하는 방법

개요

Spring MVC는 자바 웹 애플리케이션을 개발할 때 사용하는 프레임워크입니다. 이 글에서는 Spring MVC에서 @ResponseBody 어노테이션을 사용한 메서드에서 HTTP 400 (Bad Request) 오류를 어떻게 응답하는지에 대해 알아보겠습니다.

@ResponseBody와 HTTP 상태 코드

@ResponseBody 어노테이션은 메서드가 반환하는 값을 HTTP 응답 본문에 직접 쓰도록 지시합니다. 이를 사용하면 다양한 HTTP 상태 코드를 설정하는 여러 가지 방법이 있습니다. HTTP 상태 코드는 웹 서버가 클라이언트에게 전달하는 응답의 상태를 나타냅니다. 예를 들어, 200은 성공을, 400은 잘못된 요청을 나타냅니다.

ResponseEntity 사용하기

ResponseEntity 클래스를 사용하면 HTTP 상태 코드와 함께 응답을 보낼 수 있습니다.

1
2
3
4
5
6
public ResponseEntity<String> yourMethod() {
  if (someCondition) {
    return new ResponseEntity<>("Your Message", HttpStatus.BAD_REQUEST);
  }
  return new ResponseEntity<>("Success Message", HttpStatus.OK);
}

HttpStatus Enum 활용하기

HttpStatus는 HTTP 상태 코드를 간편하게 관리할 수 있는 Enum입니다. 위 예시에서 HttpStatus.BAD_REQUESTHttpStatus.OK는 각각 400과 200 상태 코드를 나타냅니다.

@ResponseStatus 어노테이션 이용하기

@ResponseStatus(HttpStatus.BAD_REQUEST) 어노테이션을 메서드 또는 예외 클래스 위에 붙여 사용할 수도 있습니다.

1
2
3
4
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void yourMethod() {
  // Your logic here
}

핵심 정리

Spring MVC에서 @ResponseBody를 사용한 메서드에서 HTTP 400 오류를 응답하는 방법은 다양합니다. ResponseEntity를 사용하거나, HttpStatus Enum을 활용하거나, @ResponseStatus 어노테이션을 이용할 수 있습니다. 이러한 방법들을 알고 있으면 더 효과적으로 웹 애플리케이션을 개발할 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.