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

如何使用 Spring Boot 修改 HttpServletResponse

如何使用 Spring Boot 修改 HttpServletResponse

RISEBY 2021-08-13 16:18:10
我正在 Spring Boot 中编写一个 REST API 应用程序。我希望我的 json 响应的签名是这样的:示例:1{  "status": "Error"  "httpcode": 500  "dev_message": "ServerException"  "user_message": "Oops..something went wrong with the app. Please try again."  "response": {    ...   }}示例:2{  "status": "Success"  "httpcode": 200  "dev_message": "APICallSuccess"  "user_message": "Successfully called API"  "response": {      "userid": "test",      "age": 31        ...      "country": "India"   }}其中status, httpcode, dev_message和user_message在请求生命周期的不同阶段动态更新。例如,授权过滤器应该更新的httpstatus领域401,并dev_message以AuthException如果API凭证不正确。另一方面,如果用户试图访问他不允许的其他用户的数据等,控制器应该更新字段。我在这里有两部分问题:如何在 Spring MVC / Spring Boot 中实现这一点?我知道这涉及RequestHandlerInterceptor,Filters但信息太多,我无法缩小范围。这是构建我的 API 的正确方法吗?我希望客户真正知道出了什么问题,而不仅仅是返回 http 状态代码。编辑 1: 下面的很多答案都是针对控制器级别的。我希望使用过滤器在更高的执行级别处理此问题。假设身份验证失败,那么我的请求甚至不会到达控制器。在所有这些情况下,我想在一个地方实现成功和失败的消息,以便它清晰易懂。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 495 浏览

添加回答

举报

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