在 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中文网其他相关文章!