一、为什么要自定义返回体?
自定义返回体是为了让前端对接更规范,方便判断,并非必须。
这里参考文章:链接在这里!
二、自定义返回体如何设计?
一般定义三个属性即可,code、msg、data。
package com.demo;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@AllArgsConstructor
@NoArgsConstructor
public class R<T> implements Serializable {
public static final R OK = data(null);
public static final R FAIL = error("操作失败");
private String code;
private String msg;
private T data;
public R(String code, String msg) {
this(code, msg, null);
}
public static <T> R<T> data(T data) {
return data(null, data);
}
public static <T> R<T> data(String msg, T data) {
return new R("SUCCESS", msg, data);
}
public static R error(String msg) {
return error("FAIL", msg);
}
public static <T> R<T> error(String code, String msg) {
return new R(code, msg, null);
}
}
三、要具备那些功能?
主要是多设计几种静态函数,应对多种情况。
必须得有的:如包含成功的全参构造,错误方法的包含 code、msg 两个参数的等等。如有不清楚可参照上述代码 copy 一份即可。