高可用复用对象的设计
来源:互联网 发布:数控车螺纹编程 编辑:程序博客网 时间:2024/05/05 21:23
在web开发中,现在比较流行的是从控制层往前台返回json格式的数据,而若每次的返回都设计一个类的话,不方便使用的同时也会显得很臃肿。因此可以设计一个高可用复用的对象,来统一返回的json格式的数据。
//字段为空的话,不序列化进json数据,即不像前台返回空的值。@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)public class ServerResponse<T> { private T data; private String msg; private int code; public T getData() { return data; } public String getMsg() { return msg; } public int getCode() { return code; } private ServerResponse(int code){ this.code=code; } private ServerResponse(int code,String msg){ this.code=code; this.msg=msg; } private ServerResponse(int code ,String msg,T data){ this.code=code; this.msg=msg; this.data = data; } public static void main(String[] args) { System.out.println(createBySuccess("222") ); } private ServerResponse(int coede ,T data){ this.code=code; this.data=data; } public static <T> ServerResponse<T> createBySuccess(){ return new ServerResponse<T>(ResponseCode.SUCCESS.getCode()); } public static <T> ServerResponse<T> createBySuccessMessage(String msg){ return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg); } public static <T> ServerResponse<T> createBySuccess(T data){ return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data); } public static <T> ServerResponse<T> createBySuccess(String msg,T data){ return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg,data); } public static <T> ServerResponse<T> createByError(){ return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ResponseCode.ERROR.getDesc()); } public static <T> ServerResponse<T> createByErrorMessage(String errorMessage){ return new ServerResponse<T>(ResponseCode.ERROR.getCode(),errorMessage); } public static <T> ServerResponse<T> createByErrorCodeMessage(int errorCode,String errorMessage){ return new ServerResponse<T>(errorCode,errorMessage); } //不返回是否成功这个标志位,即在向前台返回的数据中不包含:isSuccess:true 或isSuccess:false @JsonIgnore public boolean isSuccess(){ return this.code == ResponseCode.SUCCESS.getCode(); } @Override public String toString() { return "ServerResponse{" + "data=" + data + ", msg='" + msg + '\'' + ", code=" + code + '}'; }}
阅读全文
1 0
- 高可用复用对象的设计
- 高可用的服务设计
- 高可用系统的设计与维护
- 探讨Exchange 2013的高可用设计
- 探讨Exchange 2013的高可用设计
- 设计高可用和高负载的网站系统
- 设计高可用和高负载的网站系统(转载)
- 设计高可用和高负载的网站系统
- 设计高可用和高负载的网站系统
- 设计高可用和高负载的网站系统(整理)
- 如何设计一个支持高并发的高可用服务
- 高可用、高性能? 接口设计的 16 个原则
- 设计高可用Web服务
- 分布式系统高可用设计
- Mysql高可用架构设计
- 架构设计之高可用
- 配置高可用的循环复用DNS负载均衡
- 设计高可用Java企业级应用的最佳实践
- js语法深入四:史上最简洁最准确的闭包描述
- git fabric 1.0.0 官方源码进行编译,生成 docker images(rc2 版本2017年6月26日)
- JavaScript学习总结——Javascript原型链的原理
- 买房子还是朝南的好
- BufferedImage 类使用
- 高可用复用对象的设计
- Thinkphp网站全真静态解决方案
- 各种效果
- 【JVM】线程安全与锁优化
- Android:手把手带你深入剖析 Retrofit 2.0 源码
- 类和对象
- Java基础2
- 快速排序
- 数据结构之Trie树