JsonResult返回值处理

该博客介绍了如何使用Lombok库的注解简化Java类的定义,如`@Data`, `@Getter`, `@Setter`等,以创建一个用于返回JSON响应的泛型类`JsonResult<T>`。同时,通过定义一个枚举`ResultModelEnum`来表示不同的错误代码和消息,使得代码更加结构化和易读。博客中展示了静态工厂方法的使用,以便于构建各种类型的JSON响应。
摘要由CSDN通过智能技术生成

import java.io.Serializable;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;



@Getter
@Setter
@Data
@Accessors(chain = true)
public class JsonResult<T> implements Serializable{
    private static final long serialVersionUID = 1757685548856742735L;
    private int code;
    private String msg;
    private T data;

    public static JsonResult build() {
        return new JsonResult();
    }
    public static JsonResult build(int code) {
        return new JsonResult().setCode(code);
    }
    public static JsonResult build(int code, String msg) {
        return new JsonResult<String>().setCode(code).setMsg(msg);
    }
    public static <T> JsonResult<T> build(int code, T data) {
        return new JsonResult<T>().setCode(code).setData(data);
    }
    public static <T> JsonResult<T> build(int code, String msg, T data) {
        return new JsonResult<T>().setCode(code).setMsg(msg).setData(data);
    }
    public static <T> JsonResult<T> build(ResultModelEnum resultModelEnum, T data) {
        return new JsonResult<T>().setData(data).setCode(resultModelEnum.getCode()).setMsg(resultModelEnum.getMassage());
    }
    public static <T> JsonResult<T> build(ResultModelEnum resultModelEnum) {
        return new JsonResult<T>().setCode(resultModelEnum.getCode()).setMsg(resultModelEnum.getMassage());
    }


    public static JsonResult success() {
        return build(ResultModelEnum.SUCCESS);
    }
    public static <T> JsonResult<T> success(T data) {
        return build(ResultModelEnum.SUCCESS,data);
    }
    public static JsonResult err() {
        return build(ResultModelEnum.EXCEPTION);
    }
    public static JsonResult err(ResultModelEnum resultModelEnum) {
        return build(resultModelEnum);
    }
    public static JsonResult err(String msg,Object data,int code) {
        return build(code, msg,data);
    }

}

import lombok.Getter;

@Getter
public enum ResultModelEnum{
    SUCCESS (200,"访问成功"),
    NOT_LOGIN(400,"没有登录"),
    EXCEPTION(401,"发生异常"),
    SYS_ERROR(402,"系统错误"),
    PARAMS_ERROR(403,"参数错误"),
    NOT_SUPPORTED(410,"不支持或已经废弃"),
    INVALID_AUTHCODE(444,"AuthCode错误"),
    TOO_FREQUENT(445,"太频繁的调用"),
    UNKNOWN_ERROR(499,"未知的错误");

    private int code;
    private  String massage;


    private ResultModelEnum(int code,String massage){
        this.code=code;
        this.massage=massage;
    }



    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值