我将SpringMVC用于一个简单的JSONAPI,使用基于@ResponseBody的方法,如下所示。(我已经有了一个直接生成JSON的服务层。)
@RequestMapping(value=“/matches/{matchId}”,products=“application/json”)
@应答器
公共字符串匹配(@PathVariable字符串匹配ID){
字符串json=matchService.getMatchJson(matchId);
if(json==null){
//TODO:如何响应,例如400“错误请求”?
}
返回json;
}
问题是,在给定的场景中,用HTTP 400错误响应的最简单、最干净的方式是什么
我确实遇到过这样的方法:
返回新的响应属性(HttpStatus.BAD\u请求);
…但是我不能在这里使用它,因为我的方法的返回类型是String,而不是ResponseEntity
将您的返回类型更改为ResponseEntity<&燃气轮机,然后您可以使用下面的400
返回新的响应属性<&燃气轮机;(HttpStatus.BAD_请求);
和正确的要求
返回新的响应属性<&燃气轮机;(json,HttpStatus.OK);
更新1
在Spring4.1之后,有一些辅助方法可以作为响应使用
返回ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
及
返回ResponseEntity.ok(json);