封装统一请求状态返回Result
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的更多相关文章
- uni-app中封装统一请求函数
封装统一请求函数有利于项目的维护 整体功能简单实用,但小编遇到一个巨坑,项目中在vue文件使用跳转方法,url参数输入 "/" 后工具提示的路径为 "/pages/log ...
- FastAPI 学习之路(五十九)封装统一的json返回处理工具
这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理. 那么我们看下如何来实现呢 from fastapi import ...
- WebService如何封装XML请求 以及解析接口返回的XML
原 WebService如何封装XML请求 以及解析接口返回的XML 置顶 2019年08月16日 15:00:47 童子泛舟 阅读数 28 标签: XML解析WebService第三方API 更多 ...
- http statusCode(状态码)请求URL返回状态值的含义
http statusCode(状态码)请求URL返回状态值的含义 请求URL浏览器返回状态码的含义(http statusCode): 201-206都表示服务器成功处理了请求的状态代码,说明网页可 ...
- JavaWeb-用过滤器修改请求的返回状态码
问题: 客户SDK对接服务,默认只识别200和非200的请求状态码.需要修改当前应用的状态码(如将201转为200) 解决方案:通过扩展HttpServletResponseWrapper,获取到每个 ...
- WebApi系列~基于单请求封装多请求的设计
回到目录 怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能 ...
- 微信小程序开发——使用promise封装异步请求
前言: 有在学vue的网友问如何封装网络请求,这里以正在写的小程序为例,做一个小程序的请求封装. 关于小程序发起 HTTPS 网络请求的Api,详情可以参考官方文档:wx.request(Object ...
- webapi基于单请求封装多请求的设计【转】
怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能包含多个子 ...
- Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回
前言 现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式, 这样我们需要封装一个统一通用全局 模版api ...
- 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式
前言 开发接口,是给客户端(Web前端.App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的代码. 而接 ...
随机推荐
- RabbitMQ问题汇总
内网通过代理服务器访问MQ服务器,无法连接 使用的是socket连接,要设置socket代理,而不是http代理 Properties prop = System.getProperties(); / ...
- .DS_Store泄露利用过程
.DS_Store文件泄漏利用工具: ds_store_exp.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个. 如果开发/设计人员将.DS_S ...
- 7. 基础增删改 - 使用Portal Webapi进行会员信息的增删改
我们可以通过使用Portal Web API在Portal页面中跨所有Microsoft Dataverse表执行创建.更新和删除操作,下面我们就一起来看一下如何通过使用AJAX函数来进行操作. AJ ...
- SAP BADI总结
SAP里标准拼法是BAdI,区分大小写.太麻烦,文章里全用大写. BADI技术的底层是接口,类等面向对象开发的内容. Classic BADI是一个BADI包了一个接口.实现它的话,需要一个接口的实现 ...
- luffy前端配置and跨域
1. 安装axios 命令:npm install axios main.js内配置并使用 import axios from 'axios'app.config.globalProperties.$ ...
- 痞子衡嵌入式:内存读写正确性压力测试程序(memtester)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是内存读写正确性压力测试程序memtester. 在嵌入式系统中,内存(RAM)的重要性不言而喻,系统性能及稳定性都与内存息息相关.关于内 ...
- Spring--事务案例的实现
案例实现(主要是想用Spring实现一下MyBatis的相关内容) JDBCConfig.java MyBatisConfig.java SpringConfig.java accountDao.ja ...
- 在jsp页面int和String类型的相互转换
浅浅地来做一个对比吧! .java文件 int转成string类型:String s=String.valueOf(int m); String转成int类型:int m=Integer.parseI ...
- Mybatisplus----DML编程---多记录操作
批量处理数据: @Test void testDelete(){ //批量按id删除 List<Long> list = new ArrayList<>(); list.add ...
- Scanner基础用法
Scanner基础用法 引入包java.util.Scanner 读一个单词 package charpter2; import java.util.Scanner; public class Sca ...