在Spring [email protected]方法返回字符串时,如何响应HTTP 400错误?

我将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&lt&燃气轮机,然后您可以使用下面的400

返回新的响应属性&lt&燃气轮机;(HttpStatus.BAD_请求);

和正确的要求

返回新的响应属性&lt&燃气轮机;(json,HttpStatus.OK);

更新1

在Spring4.1之后,有一些辅助方法可以作为响应使用

返回ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);

返回ResponseEntity.ok(json);

发表评论