参考链接: 用Java封装

定义自己所需要的返回值类型

public class CodeMsg implements Cloneable {

private int retCode;

private String message;

// 通用异常

public static CodeMsg SUCCESS = new CodeMsg(0, "success");

public static CodeMsg EMPTY_PARAM_ERROR = new CodeMsg(400, "参数为空");

public static CodeMsg INTER_ERROR = new CodeMsg(505, "服务端异常");

private CodeMsg(int retCode, String message) {

this.retCode = retCode;

this.message = message;

}

public int getRetCode() {

return retCode;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

@Override

protected Object clone() throws CloneNotSupportedException {

return (CodeMsg) super.clone();

}

}

返回值的封装

public class Result<T> {

private String message;

private int retCode;

private T data;

private Result(T data) {

this.retCode = 200;

this.message = "成功";

this.data = data;

}

private Result(CodeMsg cm) {

if (cm == null) {

return;

}

this.retCode = cm.getRetCode();

this.message = cm.getMessage();

}

/**

* 成功时候的调用

*

* @return

*/

public static <T> Result<T> success(T data) {

return new Result<T>(data);

}

/**

* 成功,不需要传入参数

*

* @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) {

CodeMsg newCodeMsg = null;

try {

newCodeMsg = (CodeMsg) cm.clone();

} catch (Exception e) {

e.printStackTrace();

}

newCodeMsg.setMessage(cm.getMessage() + "--" + msg);

return new Result<T>(newCodeMsg);

}

public T getData() {

return data;

}

public String getMessage() {

return message;

}

public int getRetCode() {

return retCode;

}

}

参考返回码定义

// 成功状态码

public static final int SUCCESS = 1;

// -------------------失败状态码----------------------

// 参数错误

public static final int PARAMS_IS_NULL = 10001;// 参数为空

public static final int PARAMS_NOT_COMPLETE = 10002; // 参数不全

public static final int PARAMS_TYPE_ERROR = 1003; // 参数类型错误

public static final int PARAMS_IS_INVALID = 10004; // 参数无效

// 用户错误

public static final int USER_NOT_EXIST = 20001; // 用户不存在

public static final int USER_NOT_LOGGED_IN = 20002; // 用户未登陆

public static final int USER_ACCOUNT_ERROR = 20003; // 用户名或密码错误

public static final int USER_ACCOUNT_FORBIDDEN = 20004; // 用户账户已被禁用

public static final int USER_HAS_EXIST = 20005;// 用户已存在

// 业务错误

public static final int BUSINESS_ERROR = 30001;// 系统业务出现问题

// 系统错误

public static final int SYSTEM_INNER_ERROR = 40001; // 系统内部错误

// 数据错误

public static final int DATA_NOT_FOUND = 50001; // 数据未找到

public static final int DATA_IS_WRONG = 50002;// 数据有误

public static final int DATA_ALREADY_EXISTED = 50003;// 数据已存在

// 接口错误

public static final int INTERFACE_INNER_INVOKE_ERROR = 60001; // 系统内部接口调用异常

public static final int INTERFACE_OUTER_INVOKE_ERROR = 60002;// 系统外部接口调用异常

public static final int INTERFACE_FORBIDDEN = 60003;// 接口禁止访问

public static final int INTERFACE_ADDRESS_INVALID = 60004;// 接口地址无效

public static final int INTERFACE_REQUEST_TIMEOUT = 60005;// 接口请求超时

public static final int INTERFACE_EXCEED_LOAD = 60006;// 接口负载过高

// 权限错误

public static final int PERMISSION_NO_ACCESS = 70001;// 没有访问权限

[转载] Java对返回值的封装相关推荐

  1. java 接口 返回值_java api返回值的标准化详解

    api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\ ...

  2. Java 统一返回结果集封装

    Java 统一返回结果集封装 封装实体类 调用 封装实体类 /*** 统一返回结果集实体类* @param <T> 返回数据对象*/ @Data public class ErrorMsg ...

  3. Java方法返回值类型归纳

    Java方法返回值类型归纳 我们再调用一个方法时,将方法体内产生的一条数据输出到方法体外使用,这条数据我们叫做返回值. 返回值类型分为两大类:第一类,无返回值类型:void.第二类,有返回值类型,返回 ...

  4. Java 前后端分离业务封装 对后端返回值进行封装 PageVO封装

    遇到前后端业务需要不一致时对Controller返回结果进行封装 后端返回结果 前后端分离后 web 端要求结果 {"counts": 2694,"pagesize&qu ...

  5. dwr java有返回值但是js获取不到返回值_一探究竟:Java反射效率低的原因到底在哪?...

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低的原因 文章概览 我们在 Java 开发中,难免会接触到反射,而在一些框架中,反射的运 ...

  6. java 内部类 返回值_Java学习笔记:形参和返回值、内部类、常用API

    形参和返回值 类名作形参 public void useCat(Cat c){ c.eat(); } CatOperator co=new CatOperator(); Cat c=new Cat() ...

  7. 去除java接口返回值中含有的html、js、css标签,获取纯文字

    现在在做政府网站,网站里有很多公开信息和政务咨询的新闻,现在需要做新闻的RSS订阅功能,其中有一项是需要处理文章页的内容.我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式 ...

  8. java gettext返回值_012-关于EditText中的getText()方法的返回值类型以及string的转换问题(转)...

    EditText中的getText()方法的返回值为CharSequence,如果我们想要获得string类型数据的话,需要在后边加上.toString 另外,String类型转为int:Intege ...

  9. java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...

    1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的 ...

最新文章

  1. 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
  2. 对话迈克尔·乔丹:太多人关注个体智能,而不关注体系
  3. SQL Server - select语句练习
  4. centos mysql权限不够_centos执行文件时权限不够怎么解决_网站服务器运行维护,centos...
  5. 后端不哭!最新优化性能经验分享来啦
  6. DCEP | 农行将上线数字人民币刷脸支付
  7. 《深入理解Windows操作系统》笔记1
  8. 微信公众平台后台接入简明指南
  9. html下拉菜单几种方式,html下拉菜单的实现方式
  10. .Net Core 使用Swagger,且使用自定义UI(Knife4jUI)
  11. Riverbed发布业界最全面的数字体验管理解决方案
  12. Codeforce 1296 C. Yet Another Walking Robot
  13. haproxy+rabbitmq镜像集群
  14. iPhone照片格式怎么改?
  15. EOS基础全家桶(九)官方测试网的使用
  16. 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18)
  17. 计算机按键被粘了一样,电脑总是自动重复按键盘上的一个键 经验告诉你该这样...
  18. 六牛php工程师,童六牛——安徽工业大学材料学与工程学院教授
  19. 数仓搭建——DWD层
  20. donet 微服务开发 学习-Docker环境搭建 win7 docker 环境配置

热门文章

  1. cglib动态代理导致注解丢失问题及如何修改注解允许被继承
  2. linux apple开发环境,Objective-C开发环境设置
  3. matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值
  4. lcd像素点密度_【教程】设置添加LCD密度(DPI)设置
  5. 谷歌浏览器怎么重发请求_Googel 浏览器 模拟发送请求工具--Advanced REST Client
  6. 存储器是计算机的记忆装置,存储器(Memory)
  7. go validator使用教程
  8. linux一键安装node+npm
  9. 智慧园区-楼宇建模技巧之【建楼篇】
  10. 如何恢复osd的auth表中的权限