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

/**
* 响应状态码和说明
*/
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. 741. Cherry Pickup

    In a N x N grid representing a field of cherries, each cell is one of three possible integers. 0 mea ...

  2. for循环、for in整理

    for循环 作用:按照一定的规律,重复去做某件事情,此时我们就需要使用循环来处理了 例子1:倒着输出每一项 <script type="text/javascript"> ...

  3. FunDA(10)- 用户功能函数模式:User Function Model

    前面我们提过:FunDA就像一个管道(PipeLine).管道内流动着一串数据(Data)或者运算指令(Action).管道的源头就是能产生纯数据的数据源(Source),跟着在管道的中间会有一些节点 ...

  4. centos安装 Anaconda3及使用

    下载安装 下载地址https://www.anaconda.com/download/ 旧版本下载https://repo.continuum.io/archive/ 比如下载Anaconda3-4. ...

  5. easyUI combobox下拉框很长,easyUI combobox下拉框如何显示滚动条的解决方法

    如下图,combobox下拉框里内容很多时,会导致下拉框很长,很不美观. 如何使得combobox下拉框显示滚动条 方法:把属性panelHeight:"auto"注释掉即可. $ ...

  6. 关于MyBatis的工作流程和与JDBC的比较与Hibernate的比较

    一.传统的JDBC的方式 1.从一个jdbc程序开始 public static void main(String[] args) { Connection connection = null; Pr ...

  7. 搭建互联网架构学习--006--duboo准备之zk集群部署安装

    dubbo集群部署安装依赖于zookeeper,所以先安装zookeeper集群. 1.准备三台机器做集群 2.配置 配置java环境  ,2,修改操作系统的/etc/hosts文件,添加IP与主机名 ...

  8. Eclipse-查看jar源码乱码问题解决

    步骤1: 在eclipse菜单栏中,Window–>Preferences–>General–>Content types,将JAR Content , Java Class Fil ...

  9. [webpack]path、publicPath、--content-base 理解

    附源码:http://files.cnblogs.com/files/chenshao/startPublic.rar 'use strict'; var webpack = require('web ...

  10. SQL中存储过程和函数的区别

    转:https://www.cnblogs.com/jacketlin/p/7874009.html 本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个. 而函数是可以嵌入在s ...