package com.atguigu.com.result;
import lombok.Data;
@Data
public class Result<T> {
private Integer code; //状态码
private String message ; // 返回信息
private T data; // 数据
// 私有化
private Result(){}
// 封装返回是数据
public static <T> Result<T> build(T body , ResultCodeEnum resultCodeEnum){
Result<T> result = new Result<>();
if(body!= null){
result.setData(body);
}
result.setCode(resultCodeEnum.getCode());
result.setMessage(resultCodeEnum.getMessage());
return result;
}
// 成功
public static <T> Result<T> ok(){
return build(null,ResultCodeEnum.SUCCESS);
}
public static<T> Result<T> ok(T data){
return build(data , ResultCodeEnum.SUCCESS);
}
// 失败
public static<T> Result<T> fail(){
return build(null,ResultCodeEnum.FAIL);
}
public Result<T> message(String msg){
this.setMessage(msg);
return this;
}
public Result<T> code(Integer code){
this.setCode(code);
return this;
}
}
package com.atguigu.com.result;
import lombok.Getter;
@Getter
public enum ResultCodeEnum {
SUCCESS(200,"成功"),
FAIL(201,"失败"),
SERVICE_ERROR(2012,"服务异常"),
DATA_ERROR(204,"数据异常"),
LOGIN_AUTH(208,"未登录"),
PERMISSION(209,"没有权限");
private Integer code;
private String message;
private ResultCodeEnum(Integer code , String message){
this.code = code;
this.message = message;
}
}
瑞吉外卖
package com.example.takeaway.common;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
@Data
public class R<T> {
private Integer code ; //编码 1 成功 0 表示失败
private String msg; //错误信息
private T data; // 数据
private Map map = new HashMap(); //动态数据
public static <T> R<T> success(T object){
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
public static <T> R<T> error(String msg){
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
public R<T> add(String key , Object value){
this.map.put(key,value);
return this;
}
}
苍穹外卖
package com.sky.result;
import lombok.Data;
import java.io.Serializable;
/**
* 后端统一返回结果
* @param <T>
*/
@Data
public class Result<T> implements Serializable {
private Integer code; //编码:1成功,0和其它数字为失败
private String msg; //错误信息
private T data; //数据
public static <T> Result<T> success() {
Result<T> result = new Result<T>();
result.code = 1;
return result;
}
public static <T> Result<T> success(T object) {
Result<T> result = new Result<T>();
result.data = object;
result.code = 1;
return result;
}
public static <T> Result<T> error(String msg) {
Result result = new Result();
result.msg = msg;
result.code = 0;
return result;
}
}