记录一下返回的结果封装。直接贴代码了。
package com.example.springboot.bean;
import lombok.Data;
@Data
public class CodeMsg {
private int code;
private String msg;
public static CodeMsg SUCCESS = new CodeMsg(200,"成功");
public static CodeMsg ERROR = new CodeMsg(500,"服务器异常");
public CodeMsg(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.example.springboot.bean;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class Result<T> {
private String message;
private int code;
@ApiModelProperty(required = true,notes = "返回数据")
private T data;
private Result(T data) {
this.code = 200;
this.message = "成功";
this.data = data;
}
private Result(CodeMsg cm) {
if(cm == null){
return;
}
this.code = cm.getCode();
this.message = cm.getMsg();
}
private Result(T data, String msg){
this.code = 200;
this.message = msg;
this.data = data;
}
/**
* 成功时候的调用
* @return
*/
public static <T> Result<T> success(T data){
return new Result<T>(data);
}
public static <T> Result<T> success(T data,String msg){
return new Result<T>(data,msg);
}
/**
* 成功,不需要传入参数
* @return
*/
@SuppressWarnings("unchecked")
public static <T> Result<T> success(){
return (Result<T>) success("");
}
/**
* 失败时候的调用
* @return
*/
public static <T> Result<T> error(CodeMsg cm){
return new Result<T>(cm);
}
/**
* 失败时候的调用,扩展消息参数
* @param cm
* @param msg
* @return
*/
public static <T> Result<T> error(CodeMsg cm,String msg){
cm.setMsg(cm.getMsg()+"--"+msg);
return new Result<T>(cm);
}
}
有什么地方写的不对的话请各位大佬指出。