我将 Spring MVC 用于一个简单的 JSON API,基于 @ResponseBody
的方法如下。 (我已经有一个直接生成 JSON 的服务层。)
@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 错误的最简单、最干净的方法是什么?
我确实遇到过以下方法:
return new ResponseEntity(HttpStatus.BAD_REQUEST);
…但我不能在这里使用它,因为我的方法的返回类型是字符串,而不是 ResponseEntity。
原文由 Jonik 发布,翻译遵循 CC BY-SA 4.0 许可协议
将您的返回类型更改为
ResponseEntity<>
,然后您可以将以下内容用于 400:对于正确的请求:
在 Spring 4.1 之后,ResponseEntity 中有一些辅助方法可以用作:
和