摘要:对于“构建统一的消息响应模型”,相信各位小伙伴在开发项目的过程中多少都有所遇见过,要知道,一个糟糕的接口响应信息的规定,对于协作开发或者接口调用方的小伙伴而言将是一个小灾难,本文将介绍一种简洁的,可用于前后端接口交互 以及 服务与服务之间进行调用时的统一消息响应模型。
内容:接着上一篇文章的内容,本文我们将继续以所搭建的标准的、企业级的Spring Boot项目为奠基,介绍分享前后端接口交互、服务与服务之间接口交互时如何规定一个统一的、标准的接口响应模型。
其实,这个统一的接口消息响应模型也没有那么高大上,其实就是参考了HTTP协议的“响应模型”而设计的一款统一消息响应模型:状态码Code、状态码描述信息Msg、响应数据Data,其对应的源代码如下所示:
public class BaseResponse<T> {
private Integer code;
private String msg;
private T data;
public BaseResponse(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public BaseResponse(StatusCode statusCode) {
this.code = statusCode.getCode();
this.msg = statusCode.getMsg();
}
public BaseResponse(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
//省去getter setter方法
}
除此之外,众所周知,我们在前端对后端相应的接口发起请求时,一般会得到相应的响应状态码,比如大家比较熟悉的200(OK)、404(Not Found)、405(Method Not Allowed)、502(Bad Gateway)、401(Unauthorized)等等,关于其他的、详细的响应状态码列表,大家可以来此看个够:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status