实际开发中我们一般都是协作开发的,所以会规定一个统一的返回结果。 如果后端人员返回的结果不一致这会导致前端拿后端数据会产生格式不统一。
@Data
public class R {
// 请求是否成功
private Boolean success;
// 设置请求成功与失败的返回状态码
private Integer code;
// 返回消息
private String message;
// 返回的数据
private Map<String, Object> data = new HashMap<String, Object>();
private R() {}//构造方法私有化 防止在外部new
// 请求成功时调用的方法
public static R ok(){
R r = new R();
r.setSuccess(true);
r.setCode(ResultCode.SUCCESS);
r.setMessage("请求成功");
return r;
}
// 请求失败时调用的方法
public static R error(){
R r = new R();
r.setSuccess(false);
r.setCode(ResultCode.ERROR);
r.setMessage("请求失败");
return r;
}
//下面四个方法返回this是链式编程 可以对类中的每一个属性单独设置
public R success(Boolean success){
this.setSuccess(success);
return this;
}
public R message(String message){
this.setMessage(message);
return this;
}
public R code(Integer code){
this.setCode(code);
return this;
}
public R data(String key, Object value){
this.data.put(key, value);
return this;
}
public R data(Map<String, Object> map){
this.setData(map);
return this;
}
}
统一返回成功与失败的状态码
public interface ResultCode {
public static Integer SUCCESS = 20000;//成功
public static Integer ERROR = 20001;//失败
}