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. 【Unity】检测目标是否在视线范围内(附视线范围扇形画法)

    检测目标是否在视线范围内(附视线范围扇形画法) using UnityEngine; public class Test_CanSeeTarget : MonoBehaviour { public G ...

  2. Typora配置本地图片自动上传阿里云OSS

    一.下载Typora ​ Gitee下载地址 二.下载Picgo.app ​ Github下载地址 三.配置Picgo 打开Typora,格式→图像→图像全局设置: 四.图床设置 注册阿里云账号 打开 ...

  3. Mysql用户及其权限

    一.创建用户 create user 'user_name' identified by 'password'; 二.用户授权 grant [权限名] on 数据库名.表名 to user_name ...

  4. 【Python】validator进行数据校验

    https://pypi.org/project/validator.py/ 校验参数必要性 from validator import Required, In, InstanceOf, Lengt ...

  5. 在Mac上不常用但会用到的命令

    文章目录 1. chflags 2. rename 1. chflags chflags hidden filename 给文件添加隐藏属性 chflags nohidden filename 去掉文 ...

  6. adb 全局

    win10: 我的电脑-右键属性--系统保护--高级--环境变量--选择path--编辑--点击新建 在新建条目下输入 C:\Users\GL\platform-tool--重新打开cmd 测试adb ...

  7. Python相关练习说明

    Python练习情况说明 1.练习了在文件中进行统计的相关方法,基本操作其实差不多,步骤基本如下: # 1.打开相关文件,然后利用for循环进行按行读取的操作 # 2.读取的过程中,将读取到的数据加以 ...

  8. Android笔记--Android studio里面打开数据库详解

    1.下载Database Navigator插件,然后需要重启Android studio 2.然后会总界面这里.出现这样一个图标 然后选中Database Brower: 3.弹出这样一个界面 然后 ...

  9. progress监视linux命令进程

    progress监视linux命令进程 可以查看哪些命令进程 cp mv tar dd gzip cat grep 如何在ubuntu安装 sudo apt install progress 使用方法 ...

  10. 3.错误代码C4996

    3.错误代码C4996 错误 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s inst ...