首页 > Java > java教程 > 正文

如何从 Spring MVC @ResponseBody 方法返回字符串返回 HTTP 400 错误?

DDD
发布: 2024-11-01 12:15:30
原创
707 人浏览过

How to Return HTTP 400 Errors from Spring MVC @ResponseBody Methods Returning Strings?

在 Spring MVC @ResponseBody 方法返回字符串时处理 HTTP 400 错误

在 Spring MVC 中,通常将 @ResponseBody 用于 JSON API。但是,当该方法返回字符串时,处理错误可能会很困难。本文探讨了在这种情况下响应 HTTP 400 错误的最简单方法。

在提供的示例中:

@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 错误,最简单的方法是修改ResponseEntity 方法的返回类型。这将允许您使用以下代码进行 400 响应:

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
登录后复制

对于成功的请求,您可以使用:

return new ResponseEntity<>(json, HttpStatus.OK);
登录后复制

或者,对于 Spring 4.1 及更高版本,您可以利用ResponseEntity 中的辅助方法:

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
登录后复制

并且成功requests:

return ResponseEntity.ok(json);
登录后复制

通过使用 ResponseEntity,您可以轻松处理 @ResponseBody 方法中的 HTTP 错误,同时保持简单明了的实现。

以上是如何从 Spring MVC @ResponseBody 方法返回字符串返回 HTTP 400 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!