接口返回数据结构以及状态码如何定义
数据返回格式
- 正常返回
-
applicaiton/json
格式进行返回数据 -
data
具体的业务数据 -
http status code
为200 -
traceId
为唯一的请求id
-
- 业务逻辑异常,为了统一返回的数据结构,统一使用了zalando/problem项目作为返回的数据结构。主要包括:
- 定义统一的业务异常类,然后统一捕获该异常类,然后转换数据结构。
-
applicaiton/json
格式进行返回数据 -
detail
为对应的错误信息简单描述 -
code
为对应的业务错误码 -
type
为异常请求的uri -
http status code
为200 -
traceId
为唯一的请求id
- 请求异常,统一识别异常类型,然后转换数据结构
-
applicaiton/json
格式进行返回数据 -
detail
为对应的错误信息简单描述 -
code
为对应的业务错误码 -
type
为异常请求的uri -
http status code
为400、401、403、404、405、406、415 -
traceId
为唯一的请求id
-
- 非业务异常类,统一处理
-
applicaiton/json
格式进行返回数据 -
detail
为对应的错误信息简单描述 -
code
为对应的错误码 -
type
为异常请求的uri -
http status code
为500、501 -
traceId
为唯一的请求id
-
- 通过继承zalando/problem-spring-web项目的
ProblemHandling
类 - 通过使用
@RestControllerAdvice
来统一捕获异常 - 额外定义业务异常类的统一处理方法
- 通过使用
ResponseBodyAdvice
接口和@RestControllerAdvice
来统一添加traceId和请求的uri
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2020-04-07vue中Axios的封装和API接口的管理
- 调取接口时报404错误(ID:16)
- CICC(脑机接口,科幻几近成真())
- 《数据结构与算法之美》——队列
- 前端代码|前端代码 返回顶部 backToTop
- 接口|axios接口报错-参数类型错误解决
- 190403|190403 - Jmeter压测接口
- JavaScript|vue 基于axios封装request接口请求——request.js文件