baseresponse响应类_Java中响应结果工具类,可自定义响应码,内容,响应消息

本文介绍了Java中用于创建响应结果的BaseResponse类及其扩展,包括响应状态码枚举CodeEnum,基本响应封装和响应数据结构封装。还展示了如何在测试中使用这些工具类进行响应输出。

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

/**

* 响应状态码和说明

*/

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 extends BaseResponse {

private T data;

private ResponseData() {}

private ResponseData(CodeEnum code, T data) {

super(code);

this.data = data;

}

public static ResponseData out(CodeEnum code, T data) {

return new ResponseData(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 list = new LinkedList<>();

list.add(UUID.randomUUID().toString());

ResponseData> 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中封装JSONUtils工具类及使用

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

Java 中的并发工具类

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

java中常用的工具类(一)

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

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

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

java中常用的工具类(三)

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

java中常用的工具类(二)

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

Java中的并发工具类&lpar;CountDownLatch、CyclicBarrier、Semaphore、Exchanger&rpar;

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

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

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

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

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

java中的redis工具类

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

随机推荐

file xxx from install of xxx conflicts with file from xxx

执行安装 rpm -ivh lib64stdc++6-4.6.1-2-mdv2011.0.x86_64.rpm 时提示以下错误: warning: lib64stdc++6-4.6.1-2-mdv20 ...

HTML5基础知识(2)--标题标签的使用

1.HTML文档中包含各种级别的标题,各种级别的标题由

元素来定义,

标题标记中的字母h是英文headline的简称.其 ...

【Beta版本】冲刺-Day4

队伍:606notconnected 会议时间:12月12日 目录 一.行与思 二.站立式会议图片 三.燃尽图 四.代码Check-in 一.行与思 张斯巍(433) 今日进展:协助队友完成界面的修改 ...

《SQL Server企业级平台管理实践》读书笔记——SQL Server中收缩数据库不好用的原因

数据库管理员有时候需要控制文件的大小,可能选择收缩文件,或者把某些数据文件情况以便从数据库里删除. 这时候我们就要使用到DBCC SHRINKFILE命令,此命令的脚本为: DBCC SHRINKFI ...

Android--Intent的使用

1.Activity之间的切换通过Intent来完成. 1)清单文件,配置好Activity,所有Activity都需要在该文件中配置. <?xml version="1.0&quot ...

jsp和serverlet的差别

開始找工作面试的第一家公司,爱思创新 面试题: 1.jsp和serverlet的差别 简单来说: jsp:是包括java程序片的html文件servlet:是包括html的java文件 事实上说白了J ...

Spring in Action --- 第二章 装配Bean

Spirng配置的可选方案 在XML中进行显示配置 在Java中进行显示配置 隐式的bean发现机制和自动装配 bean装配 1. 在希望被扫描到的类上加注解 @Component 2. 基于不同的配 ...

bootstrap-datetimepicker 时间配置,包含颜色

if ($('.isdatetimepicker')!=undefined&&$('.isdatetimepicker').datetimepicker!=undefined) { / ...

python 爬虫 记录

python3 爬虫需要安装:requests,beautifulsoup4,html5lib 带有中文的需要这样写,要不然就会出现乱码 html = response.content.decode( ...

windows 日志解决方法

1.sql server 2012 报错 MSSQLSERVER 服务无法使用当前配置的密码以 .\MSSQL_SF_A9JGSK 身份登录,错误原因如下: 此帐户的密码已过期. 要确保服务配置正确, ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值