首页 > 其他分享 >统一接口响应工具

统一接口响应工具

时间:2022-11-01 22:45:42浏览次数:45  
标签:code return JsonData 响应 private 接口 msg 工具 public

统一接口响应工具

步骤

  • 自定义一个枚举类,存放自定义需要返回的信息
public enum BizCodeEnum {

    /**
     * 通用操作码
     */
    OPS_REPEAT(110001,"重复操作"),

    /**
     *验证码
     */
    CODE_TO_ERROR(240001,"接收号码不合规"),
    CODE_LIMITED(240002,"验证码发送过快"),
    CODE_ERROR(240003,"验证码错误"),
    CODE_CAPTCHA(240101,"图形验证码错误"),

    /**
     * 账号
     */
    ACCOUNT_REPEAT(250001,"账号已经存在"),
    ACCOUNT_UNREGISTER(250002,"账号不存在"),
    ACCOUNT_PWD_ERROR(250003,"账号或者密码错误");


    @Getter
    private String message;

    @Getter
    private int code;

    private BizCodeEnum(int code, String message){
        this.code = code;
        this.message = message;
    }



}

  • 接口统一协议 JsonData工具类开发
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JsonData {

    /**
     * 状态码 0 表示成功,1表示处理中,-1表示失败
     */

    private Integer code;
    /**
     * 数据
     */
    private Object data;
    /**
     * 描述
     */
    private String msg;


    /**
     * 成功,传入数据
     * @return
     */
    public static JsonData buildSuccess() {
        return new JsonData(0, null, null);
    }

    /**
     *  成功,传入数据
     * @param data
     * @return
     */
    public static JsonData buildSuccess(Object data) {
        return new JsonData(0, data, null);
    }

    /**
     * 失败,传入描述信息
     * @param msg
     * @return
     */
    public static JsonData buildError(String msg) {
        return new JsonData(-1, null, msg);
    }

   
    /**
     * 自定义状态码和错误信息
     * @param code
     * @param msg
     * @return
     */
    public static JsonData buildCodeAndMsg(int code, String msg) {
        return new JsonData(code, null, msg);
    }

    /**
     * 传入枚举,返回信息
     * @param codeEnum
     * @return
     */
    public static JsonData buildResult(BizCodeEnum codeEnum){
        return JsonData.buildCodeAndMsg(codeEnum.getCode(),codeEnum.getMessage());
    }
}

标签:code,return,JsonData,响应,private,接口,msg,工具,public
From: https://www.cnblogs.com/snail05/p/16849435.html

相关文章

  • 【Java】抽象类详解、抽象类与接口的区别
    文章目录​​什么是抽象类​​​​抽象方法的优点​​​​抽象类和接口的主要区别​​什么是抽象类例如:publicabstractclassA{abstractintadd(intx,inty);in......
  • 【Java】接口的介绍、例子、性质、优点
    文章目录​​接口介绍​​​​接口例子​​​​接口的性质​​​​接口的优点:​​接口介绍接口包括接口声明和接口体,接口体包括常量的定义(必有初值),方法的声明(无方法体,新版J......
  • 【Java】什么是接口回调、对比上转型对象、代码案例
    接口回调介绍接口回调和上转型是设计模式的解耦核心,可以说几乎所有的模式都是建立在这两者的应用之上的。接口回调其本质与上转型是一样的,不同的是:接口回调是用接口句柄来得......
  • 009.初始化工具类MyBatisUtil
    1.MyBatisUtils工具类,创建全局唯一的SqlSessionFactory对象(src/main/java/com/imooc/mybatis/utils/MyBatisUtils.java)packagecom.imooc.mybatis.utils;importorg.a......
  • nvm切换node.js环境工具
    下载地址:https://github.com/coreybutler/nvm-windows/releases使用默认安装目录,不用再单独配置环境变量默认安装目录:C:\Users\jay.star\AppData\Roaming\nvm找到setting......
  • idea右边的maven工具栏不见了
    (2条消息)idea右边找不到maven窗口不见了_南忆起初的博客-CSDN博客_idea右侧的maven不见了方法1.你点击一下你idea界面最左下角的那个小框,maven应该从里面找到 ......
  • 上传大文件解决方案工具
    ​需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以500G来进行限制。PC端全平台......
  • EasyCVR平台基于萤石云SDK接入的设备播放流程及接口调用
    EasyCVR视频融合云服务支持海量视频汇聚与管理、处理与分发、智能分析等视频能力,在功能上,可支持视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服......
  • 一个实用的 vite + vue3 组件库脚手架工具,提升开发效率
    无论是vue2全家桶还是vue3+vite+TypeScript,组件库的使用几乎大家都会,但自己开发一个独立组件库就不是每个人都掌握的,因为搭建组件库的基础开发环境,就会让很多同学望......
  • Web响应式(二)
    内容:媒体查询媒体查询语法组合媒体查询一、媒体查询媒体查询,可以根据设备的能力应用特定的CSS样式。比如,可以根据视口宽度、屏幕宽高比和朝向(水平还是垂直)等,只用几......