为了账号安全,请及时绑定邮箱和手机立即绑定

如何在返回String的Spring MVC @ResponseBody方法中响应

如何在返回String的Spring MVC @ResponseBody方法中响应

FFIVE 2019-08-29 09:23:37
如何在返回String的Spring MVC @ResponseBody方法中响应HTTP 400错误?我正在使用Spring MVC作为一个简单的JSON API,@ResponseBody基于以下方法。(我已经有一个直接生成JSON的服务层。)@RequestMapping(value = "/matches/{matchId}", produces = "application/json")@ResponseBodypublic 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);...但我不能在这里使用它,因为我的方法的返回类型是String,而不是ResponseEntity。
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

将您的退货类型更改为ResponseEntity<>,然后您可以使用以下400

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

并提出正确的要求

return new ResponseEntity<>(json,HttpStatus.OK);

更新1

在4.1之后,ResponseEntity中有辅助方法可以用作

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);

return ResponseEntity.ok(json);


查看完整回答
反对 回复 2019-08-29
  • 3 回答
  • 0 关注
  • 1136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信