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

/**
* 响应状态码和说明
*/
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. SqlAlchemy操作(二)

    SQLALchemy初始化链接数据库 1. 数据库配置. https://www.cnblogs.com/mengbin0546/p/10124560.html 2.  python端操作. 一.  ...

  2. kernel 调试 打印IP地址

    #define NIPQUAD(addr) \ ((unsigned char *)&addr)[0], \ ((unsigned char *)&addr)[1], \ ((unsi ...

  3. Neutron 架构图

    与 OpenStack 其他服务一样,Neutron 采用的是分布式架构,包括 Neutorn Server.各种 plugin/agent.database 和 message queue. Neu ...

  4. linux磁盘用满的两种情况

    首先查看分区的内存使用情况和inode使用情况 第一种情况,内存用完: 我们拿分区sdb5来做实验 查看内存使用情况和inode使用情况: 第二种情况:inode使用完 我们在该分区下创建很多空文件 ...

  5. eclispe中使用python库 pyswip 进行prolog编程

    from pyswip import Prolog prolog = Prolog() prolog.assertz("father(michael,john)") prolog. ...

  6. 验证resneXt,densenet,mobilenet和SENet的特色结构

    简介 图像分类对网络结构的要求,一个是精度,另一个是速度.这两个需求推动了网络结构的发展. resneXt:分组卷积,降低了网络参数个数. densenet:密集的跳连接. mobilenet:标准卷 ...

  7. GDOI2018滚粗记

    day-50: 高中全体成员去了北京训练,我被虐成傻逼(貌似总分全校倒数第2). day-20: 回广州了,间断式略微考好55555..... day0: 早上起床好像有点晚qwq 然后简单打了个FF ...

  8. 数据结构---散列表查找(哈希表)概述和简单实现(Java)

    散列表查找定义 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,是的每个关键字key对应一个存储位置f(key).查找时,根据这个确定的对应关系找到给定值的key的对应f(key) ...

  9. C++ 定时器Timer在项目中的使用

    目录 1.情况说明 2.空循环实现 3.定时器实现 1.情况说明 由于最近要在项目里做弹出弹幕,要求是弹出1秒后消失,一开始我使用空循环进行计时,发现执行到这段代码CPU占用率上升十几个百分点,后来改 ...

  10. 使用R进行分组统计

    分组统计数据集是很常见的需求,R中也有相应的包支持数据集的分组统计.自己尝试了写了段R代码来完成分组统计数据集,支持公式,感觉用起来还算方便.代码分享在文章最后. 使用方式: step 1: sour ...