Web项目中定义一套通用的数据相应接口将会减少很多冗余,先提供一套通用的数据返回格式。鉴于此类文章较多,本文附上自己学习过程中感觉不错的文章供大家参考:
- springboot2.0-统一处理返回结果和异常情况
- SpringBoot返回统一的JSON标准格式
- spring boot 统一JSON格式的接口返回结果
- Spring Boot随手记-统一封装response的格式
注意点:
- 若是响应结果类上无其他注解(不适用lombok时),则请求响应结果就如下列所示:
成功响应时:
{
"code": 0,
"msg": "操作成功",
"data": [
{
"empId": 1,
"empName": "雇员1",
"hiredate": "2021-11-21",
"sal": 1234.12,
"deptno": 10
}
]
}
失败响应时:
{
"code": 500,
"msg": "系统异常,请稍后重试:/ by zero",
"data": null
}
- 若是想要在请求失败时不显示data,则需要在响应结果的类上加上一个注解:
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL)
但该注解在Springboot2.x版本中已经废弃,改变为:
@JsonInclude(JsonInclude.Include.NON_NULL)
添加该注解后请求失败时响应结果为:
{
"code": 500,
"msg": "系统异常,请稍后重试:/ by zero"
}
该注解将结果中为null字段拦截,不返回给调用者。