• 最权威的json自定义格式


    1.封装result,作为返回的对象

    public class Result<T> {
        
        private int code;
        private String msg;
        private T data;
        
        /**
         *  成功时候的调用
         * */
        public static  <T> Result<T> success(T data){
            return new Result<T>(data);
        }
        
        /**
         *  失败时候的调用
         * */
        public static  <T> Result<T> error(CodeMsg codeMsg){
            return new Result<T>(codeMsg);
        }
        

    /**
         * 成功的构造函数
         * @param data
         */
        private Result(T data){
            this.code=000000;//默认000000是成功
            this.msg="SUCCESS";
            this.data = data;
        }
        
        private Result(int code, String msg) {
            this.code = code;
            this.msg = msg;
        }
        /**
         * 失败的构造函数
         * @param code
         * @param msg
         */
        private Result(CodeMsg codeMsg) {
            if(codeMsg != null) {
                this.code = codeMsg.getCode();
                this.msg = codeMsg.getMsg();
            }
        }
     get(),set();
    }

    2.封装CodeMsg,这里面存放定义的code对应的msg

    public class CodeMsg {
        
        private int code;
        private String msg;
        
        //通用的错误码
        public static CodeMsg SUCCESS = new CodeMsg(0, "success");
        public static CodeMsg SERVER_ERROR = new CodeMsg(500100, "服务端异常");
        public static CodeMsg BIND_ERROR = new CodeMsg(500101, "参数校验异常:%s");
        //登录模块 5002XX
        public static CodeMsg SESSION_ERROR = new CodeMsg(500210, "Session不存在或者已经失效");
        public static CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "登录密码不能为空");
        public static CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手机号不能为空");
        public static CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手机号格式错误");
        public static CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手机号不存在");
        public static CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密码错误");
        
        //商品模块 5003XX
        
        //订单模块 5004XX
        
        //秒杀模块 5005XX
        
        private CodeMsg( ) {
        }
                
        private CodeMsg( int code,String msg ) {
            this.code = code;
            this.msg = msg;
        }
       
        //不定参的构造函数
        public  fillArgs(Object... args) {
            int code = this.code;
            String message = String.format(this.msg, args);
            return new CodeMsg(code, message);
        }

        @Override
        public String toString() {
            return "CodeMsg [code=" + code + ", msg=" + msg + "]";
        }
        get(),set()方法
        
    }
    3.应用实例

     return Result.success(user);

    return Result.error(CodeMsg.MOBILE_ERROR);

  • 相关阅读:
    .Net语言 APP开发平台——Smobiler学习日志:Poplist控件在APP中的应用场景以及代码
    C++ STL 之 set 和 pair
    C++ STL 之 list
    安卓开发之数据库事务的使用
    安卓开发之sql语句增删改查2(利用谷歌封装好的API进行增删改查)
    安卓开发之SimpleAdapter的使用
    安卓开发之ArrayAdapter使用
    安卓开发之打气筒的使用
    安卓开发之ListView入门
    安卓开发之sql语句增删改查
  • 原文地址:https://www.cnblogs.com/uzxin/p/11860996.html
Copyright © 2020-2023  润新知