Spring MVC @ResponseBody 响应 HTTP 400 错误
使用 Spring MVC 的 @ResponseBody 方法开发 JSON API 时,可能会出现以下情况:您需要使用特定的 HTTP 状态代码进行响应,例如 400“错误请求”。
考虑以下操作方法:
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public String match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { // How to respond with HTTP 400 "Bad Request"? } return json; }</code>
在此示例中,该方法使用 @ResponseBody 注解,表示返回值应该直接写入HTTP响应体。但是,初始代码没有提供响应 HTTP 400 错误的机制。
要解决此问题,可以考虑以下几种方法:
因此,更新后的方法将如下所示:
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public ResponseEntity<String> match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { return ResponseEntity.badRequest().body(null); } return ResponseEntity.ok(json); }</code>
以上是如何在 Spring MVC @ResponseBody 中响应 HTTP 400'错误请求”?的详细内容。更多信息请关注PHP中文网其他相关文章!