1、测试数据

public class Test {

    public static void main(String[] args){

        System.out.println("Response.success(ErrorEnum.SUCCESS) = " + Response.success(ErrorEnum.SUCCESS));

        System.out.println("Response.success(ErrorEnum.FAIL) = " + Response.fail(ErrorEnum.FAIL));

        System.out.println("Response.fail() = " + Response.fail());

        System.out.println("Response.success() = " + Response.success());

    }

}

//Response.success(ErrorEnum.SUCCESS) = Response{code=200, msg='请求成功!', model=null}
//Response.success(ErrorEnum.FAIL) = Response{code=500, msg='请求失败!', model=null}
//Response.fail() = Response{code=500, msg='请求失败!', model=null}
//Response.success() = Response{code=200, msg='请求成功!', model=null}

 

2、创建Response类

public class Response<T> {

    private Integer code;

    private String msg;

    private T model;

    private volatile static Response response = null;

    private Response(){}

    public static Response getInstance(){
if (response == null){
synchronized (Response.class){
if (response == null){
response =new Response();
}
}
}
return response;
} public static Response fail(){
Response response = Response.getInstance();
response.setCode(ErrorEnum.FAIL.getCode());
response.setMsg(ErrorEnum.FAIL.getMsg());
return response;
} public static Response fail(ErrorEnum errorEnum){
Response response = Response.getInstance();
response.setCode(errorEnum.getCode());
response.setMsg(errorEnum.getMsg());
return response;
} public static <T> Response<T> fail(T data){
Response<T> response = Response.getInstance();
response.setCode(ErrorEnum.FAIL.getCode());
response.setMsg(ErrorEnum.FAIL.getMsg());
response.setModel(data);
return response;
} public static Response fail(int code, String msg) {
Response response = Response.getInstance();
response.setCode(code);
response.setMsg(msg);
return response;
} public static Response success(){
Response response = Response.getInstance();
response.setCode(ErrorEnum.SUCCESS.getCode());
response.setMsg(ErrorEnum.SUCCESS.getMsg());
return response;
} public static Response success(ErrorEnum errorEnum){
Response response = Response.getInstance();
response.setCode(errorEnum.getCode());
response.setMsg(errorEnum.getMsg());
return response;
} public static <T> Response<T> success(T data){
Response<T> response = Response.getInstance();
response.setCode(ErrorEnum.SUCCESS.getCode());
response.setMsg(ErrorEnum.SUCCESS.getMsg());
response.setModel(data);
return response;
} public Integer getCode() {
return code;
} public void setCode(Integer code) {
this.code = code;
} public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
} public T getModel() {
return model;
} public void setModel(T model) {
this.model = model;
} @Override
public String toString() {
return "Response{" +
"code=" + code +
", msg='" + msg + '\'' +
", model=" + model +
'}';
}
}

封装统一请求状态返回Result的更多相关文章

  1. uni-app中封装统一请求函数

    封装统一请求函数有利于项目的维护 整体功能简单实用,但小编遇到一个巨坑,项目中在vue文件使用跳转方法,url参数输入 "/" 后工具提示的路径为 "/pages/log ...

  2. FastAPI 学习之路(五十九)封装统一的json返回处理工具

    这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理. 那么我们看下如何来实现呢 from fastapi import ...

  3. WebService如何封装XML请求 以及解析接口返回的XML

    原 WebService如何封装XML请求 以及解析接口返回的XML 置顶 2019年08月16日 15:00:47 童子泛舟 阅读数 28 标签: XML解析WebService第三方API 更多 ...

  4. http statusCode(状态码)请求URL返回状态值的含义

    http statusCode(状态码)请求URL返回状态值的含义 请求URL浏览器返回状态码的含义(http statusCode): 201-206都表示服务器成功处理了请求的状态代码,说明网页可 ...

  5. JavaWeb-用过滤器修改请求的返回状态码

    问题: 客户SDK对接服务,默认只识别200和非200的请求状态码.需要修改当前应用的状态码(如将201转为200) 解决方案:通过扩展HttpServletResponseWrapper,获取到每个 ...

  6. WebApi系列~基于单请求封装多请求的设计

    回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...

  7. 微信小程序开发——使用promise封装异步请求

    前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...

  8. webapi基于单请求封装多请求的设计【转】

    怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能包含多个子 ...

  9. Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回

    前言 现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式, 这样我们需要封装一个统一通用全局 模版api ...

  10. 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式

    前言 开发接口,是给客户端(Web前端.App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的代码. 而接 ...

随机推荐

  1. 移动服务(f[i] [j] [k],这三个人,位置为a[i],j,k的最小价值)

    移动服务(f[i] [j] [k],这三个人,位置为a[i],j,k的最小价值) 题意 给出点之间到达价值,使用3个人处理一个序列,f[i] [j] [k],这三个人,每次处理序列中一个值,三个人中一 ...

  2. Jquery ajax参数设置(转)

    参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 ...

  3. 一道测试Java值传递的题目

    请给出下列代码的执行结果: public class T3 { public static void main(String[] args) { T3 t3 = new T3(); t3.first( ...

  4. C++ || 求一个数中1的位数

    点击查看代码 #include<iostream> using namespace std; int f(int x) { int count = 0; while(x) { if (x ...

  5. 我是如何被我的c++大作业榨干的

    手把手教你用git上传项目到GitHub(图文并茂,这一篇就够了),相信你一定能成功!! - 知乎 (zhihu.com) C++ 类对象数组_Slience_Perseverance的博客-CSDN ...

  6. mysql-连接路径url参数(随时补充及改错)

    1.基本驱动连接url jdbc:mysql://127.0.0.1:3306/demo 2.参数 参数 缺省值 说明 粘贴 useSSL 是否使用ssl加密连接mysql,一般指定false就行,除 ...

  7. [Mac技巧] 你真的会使用Mac的“聚焦搜索”吗?

    Mac的"聚焦搜索"是对Mac整个磁盘的全局搜索,搜索起来极其便捷,但也常被使用者忽略使用. 以下列出比较常用的几个场景供使用者参考 场景一:文件在哪儿,要立即查看? 1.打开&q ...

  8. 【Beat】Scrum Meeting 3

    时间:2021年6月28日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 进行软件测试,修改bug 4 荣娟 进行软件测试,修改bug 4 亚楠 进行软件测试,修改bu ...

  9. GO语言学习笔记-工具链篇 Study for Go ! Chapter eleven - Tool Chain

    持续更新 Go 语言学习进度中 ...... GO语言学习笔记-类型篇 Study for Go! Chapter one - Type - slowlydance2me - 博客园 (cnblogs ...

  10. C#中的数据字典Dictionary

    前言 今天上午和往常一样在网上冲浪,看到码甲哥微信群里面在聊一个面试题,比较有意思,这里简单分享下结论中的Dictionary字典. 有50w个int类型的数字,现在需要判断一下里面是否存在重复的数字 ...