今天带来一个基于SpringBoot前后端分离开发的后端java的统一返回格式
- 1.首先创建一个响应类
//这里的注解都是lombok中的
//getter setter tostring ...
@Data
//生成一个无参的构造函数
@NoArgsConstructor
//生成一个带所有属性的构造函数
@AllArgsConstructor
public class ResponseBase {
private Integer rtnCode;
private String msg;
private Object data;
}
- 2.创建一个响应码接口
public interface Constants {
// 响应请求成功code
Integer HTTP_RES_CODE_200 = 200;
// 系统错误
Integer HTTP_RES_CODE_500 = 500;
}
- 3.创建一个封装类,对外提供
@Component
public class BaseApiService {
public ResponseBase setResultError(String message) {
// 返回错误,可以传msg
return setResult(Constants.HTTP_RES_CODE_500, message, null);
}
//返回成功 可以传递参数和消息
public ResponseBase setResultSuccessData(Object data,String message) {
return setResult(Constants.HTTP_RES_CODE_200, message, data);
}
// 返回成功,沒有data值
public ResponseBase setResultSuccess(String message) {
return setResult(Constants.HTTP_RES_CODE_200, message, null);
}
public ResponseBase setResult(Integer status, String message, Object data) {
return new ResponseBase(status, message, data);
}
}
这样我们就可以在controller类中继承BaseApiService(或者new,以及注入)达到统一的响应格式了,另外插拔性极高,可以根据业务再次进行封装。