首页  >  文章  >  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 中,通常将 @ResponseBody 用于 JSON API。但是,当该方法返回字符串时,处理错误可能会很困难。本文探讨了在这种情况下响应 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);

并且成功requests:

return ResponseEntity.ok(json);

通过使用 ResponseEntity,您可以轻松处理 @ResponseBody 方法中的 HTTP 错误,同时保持简单明了的实现。

以上是如何从 Spring MVC @ResponseBody 方法返回字符串返回 HTTP 400 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn