>  기사  >  Java  >  문자열을 반환하는 Spring MVC @ResponseBody 메서드에서 HTTP 400 오류를 반환하는 방법은 무엇입니까?

문자열을 반환하는 Spring MVC @ResponseBody 메서드에서 HTTP 400 오류를 반환하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-01 12:15:30699검색

How to Return HTTP 400 Errors from Spring MVC @ResponseBody Methods Returning Strings?

문자열을 반환하는 Spring MVC @ResponseBody 메서드에서 HTTP 400 오류 처리

Spring MVC에서는 JSON API에 @ResponseBody를 사용하는 것이 일반적입니다. 그러나 메서드가 문자열을 반환하는 경우 오류를 처리하는 것이 어려울 수 있습니다. 이 문서에서는 이러한 시나리오에서 HTTP 400 오류에 응답하는 가장 간단한 방법을 살펴봅니다.

제공된 예에서:

@RequestMapping(value = "/matches/{matchId}", produces = "application/json")
@ResponseBody
public String match(@PathVariable String matchId) {
    String json = matchService.getMatchJson(matchId);
    if (json == null) {
        // TODO: how to respond with e.g. 400 "bad request"?
    }
    return json;
}

HTTP 400 오류를 반환하려면 가장 간단한 방법은 수정하는 것입니다. ResponseEntity<>에 대한 메소드의 반환 유형입니다. 이렇게 하면 400개의 응답에 다음 코드를 사용할 수 있습니다.

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

성공적인 요청의 경우 다음을 사용할 수 있습니다.

return new ResponseEntity<>(json, HttpStatus.OK);

또는 Spring 4.1 이상에서는 다음을 활용할 수 있습니다. ResponseEntity의 도우미 메서드:

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);

성공적인 요청의 경우:

return ResponseEntity.ok(json);

ResponseEntity<>를 사용하면 간단한 작업을 유지하면서 @ResponseBody 메서드에서 HTTP 오류를 쉽게 처리할 수 있습니다. 깔끔한 구현이 가능합니다.

위 내용은 문자열을 반환하는 Spring MVC @ResponseBody 메서드에서 HTTP 400 오류를 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.