如何在 Spring MVC @ResponseBody 方法中处理 HTTP 错误
当使用 Spring MVC @ResponseBody 在 RESTful API 中返回 JSON 时,它是优雅地处理 HTTP 错误至关重要。一种常见的错误代码是 400(错误请求)。此错误代码表示由于参数丢失或不正确,请求无效。
在给定场景中,方法的返回类型为 String,可以更改方法的签名以返回 ResponseEntity反而。响应实体<>允许您指定响应正文和 HTTP 状态代码。
要响应 HTTP 400 错误,您可以返回具有 null 正文和适当 HTTP 状态代码的 ResponseEntity。下面是一个示例:
<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 new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(json, HttpStatus.OK); }</code>
或者,Spring 4.1 在 ResponseEntity 中引入了辅助方法,进一步简化了此过程。您现在可以使用:
<code class="java">return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);</code>
或者成功请求:
<code class="java">return ResponseEntity.ok(json);</code>
通过适当处理 HTTP 错误,您可以确保在 RESTful API 中获得一致且用户友好的体验。
以上是如何在Spring MVC中使用@ResponseBody返回HTTP错误代码?的详细内容。更多信息请关注PHP中文网其他相关文章!