创建响应状态码和说明枚举类

/**
* 响应状态码和说明
*/
public enum CodeEnum {
   SUCCESS(0, "成功!"),
   FAIL(1, "失败,未知错误!"),;
​
   /**
    * 响应状态码
    */
   private final int code;
​
   /**
    * 响应提示
    */
   private final String msg;
​
   CodeEnum(int code, String msg) {
       this.code = code;
       this.msg = msg;
  }
​
   public int getCode() {
       return code;
  }
​
   public String getMsg() {
       return msg;
  }
}

基本响应封装

/**
* 基本响应封装
*/
public class BaseResponse {
​
/**
* 响应码
*/
private int code;
​
/**
* 响应消息
*/
private String msg;
​
protected BaseResponse() {}
​
protected BaseResponse(CodeEnum code) {
  this.code = code.getCode();
  this.msg = code.getMsg();
  }
​
   public static BaseResponse out(CodeEnum code) {
  return new BaseResponse(code);
  }
​
public int getCode() {
return code;
}
​
public void setCode(int code) {
this.code = code;
}
​
public String getMsg() {
return msg;
}
​
public void setMsg(String msg) {
this.msg = msg;
}
}

响应数据结构封装

/**
* 响应数据结构封装
*/
public class ResponseData<T> extends BaseResponse {
​
private T data;
​
private ResponseData() {}
​
private ResponseData(CodeEnum code, T data) {
super(code);
this.data = data;
} public static <T> ResponseData<T> out(CodeEnum code, T data) {
return new ResponseData<T>(code, data);
}
​
public T getData() {
return data;
}
​
public void setData(T data) {
this.data = data;
}
​
}
​

测试

public static void main(String[] args) {
   BaseResponse out = BaseResponse.out(CodeEnum.SUCCESS);
   System.out.println("基本响应封装:\n" + JSON.toJSONString(out));
   List<String> list = new LinkedList<>();
   list.add(UUID.randomUUID().toString());
   ResponseData<List<String>> data = ResponseData.out(CodeEnum.FAIL, list);
   System.out.println("响应数据结构封装:\n" + JSON.toJSONString(data));
}

打印结果: 基本响应封装: {"code":0,"msg":"成功!"} 响应数据结构封装: {"code":1,"data":["aac1d70a-1eaf-4d6a-8383-102ced0bdf29"],"msg":"失败,未知错误!"}

Java中响应结果工具类,可自定义响应码,内容,响应消息的更多相关文章

  1. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  2. Java 中的并发工具类

    Java 中的并发工具类 CountDownLatch public class JoinCountDownLatchTest { public static void main(String[] a ...

  3. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  4. Java 中待总结工具类学习(自定义注解,读取配置,字面List)

    1.使用 MessageFormat 格式化文本 int planet = 7; String event = "a disturbance in the Force"; Stri ...

  5. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  6. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  7. Java中的并发工具类(CountDownLatch、CyclicBarrier、Semaphore、Exchanger)

    在JDK的并发包里提供了很多有意思的并发工具类.CountDownLatch.CyclicBarrier和Semaphore 工具类提供了一种并发流程控制的手段,Exchanger 工具类则提供了在线 ...

  8. 在JAVA中封装JSONUtil工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  9. 在JAVA中封装JSONUtils工具类及使用 (转)

    import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...

  10. java中的redis工具类

    1.redis基础类 package com.qlchat.component.redis.template; import javax.annotation.PostConstruct; impor ...

随机推荐

  1. JIT与JVM的三种执行模式:解释模式、编译模式、混合模式

    Java JIT(just in time)即时编译器是sun公司采用了hotspot虚拟机取代其开发的classic vm之后引入的一项技术,目的在于提高java程序的性能,改变人们“java比C/ ...

  2. 程序媛计划——mysql索引

    定义: 索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构   #为字段创建索引 #在表中的字段中创建索引mysql> create index ind_score on ...

  3. CentOS 7 - 安装Windows字体!

    1,安装cabextract: 下载地址:http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/cabe ...

  4. MySQL查询语句练习题(面试时可能会遇到哦!)

    Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性 ...

  5. maven 服务器搭建 -- nexus

    参考文档 http://blog.sina.com.cn/s/blog_5745d6cb0100hasa.html 首先下载nexus webapp,可以使用wget来下载: Java代码 wget  ...

  6. C# 证书打印《六》

    整理思路,从新出发. 加载模版 public void loadtemplate(Label lable) { string p_tempateFile = @"fomate.xml&quo ...

  7. day 53 Django form 组件 autu 组件

    https://github.com/Endless-Clould/homework/tree/master/auto_zujian ---恢复内容开始--- 前情提要: Django 组件 的 fo ...

  8. 无头结点的单链表(C语言)

    1.单链表: 在顺序表中,用一组地址连续的存储单元来一次存放线性表的结点,因此结点的逻辑顺序与物理顺序是一致的.但链表却不同,链表是用一组任意的存储单元来存放 线性表的结点,这组存储单元可以是连续的, ...

  9. POJ 2316

    #include<iostream> #include<stdio.h> #include<string> using namespace std; ]; int ...

  10. Java之集合(二十三)SynchronousQueue

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7515729.html 1.前言 本章介绍阻塞队列SynchronousQueue.之前介绍过LinkedTran ...