Java封装统一返回结果集
此封装返回结果集主要包括:状态码、结果描述、数据。可根据结果调用对应的结果集方法返回,返回数据中可以为任意类型的数据。
一、统计返回结果集
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serializable;//静态导入枚举类
import static com.yf.common.Response.ResultEnum.*;public class MyResult<T> implements Serializable {private static final long serialVersionUID = 4580737268023862568L;private Integer code;private String msg;private T data;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 getData() {return data;}public void setData(T data) {this.data = data;}public MyResult() {}public MyResult(Integer code){this.code = code;}//是否成功(自定义结果码为1000为成功)@JsonIgnorepublic boolean isSuccess(){return this.code == 1000;}//成功时引用public static <T> MyResult<T> success(){return success(YF_0000);}public static <T> MyResult<T> success(T data){return success(YF_0000,data);}public static <T> MyResult<T> success(ResultEnum re){return success(re,null);}public static <T> MyResult<T> success(ResultEnum re,T data){Integer code = re.getCode();String msg = re.getMsg();return success(code,msg,data);}public static <T> MyResult<T> success(Integer code, String msg, T data){MyResult<T> result = new MyResult<>(1000);result.setCode(code);result.setMsg(msg);result.setData(data);return result;}//失败时引用public static <T> MyResult<T> fail(){return fail(YF_9999);}public static <T> MyResult<T> fail(ResultEnum re){return fail(re,null);}public static <T> MyResult<T> fail(String msg){return fail(YF_9999.getCode(),msg,null);}public static <T> MyResult<T> fail(T data){return fail(YF_9999,data);}public static <T> MyResult<T> fail(ResultEnum re, T data){Integer code = re.getCode();String msg = re.getMsg();return fail(code,msg,data);}public static <T> MyResult<T> fail(Integer code , String msg, T data){MyResult<T> result = new MyResult<>();result.setCode(code);result.setMsg(msg);result.setData(data);return result;}}
二、定义枚举类
public enum ResultEnum {YF_0000(1000, "成功"),WAITING_IN_LINE(30013, "正在排队中"),YF_9999(9999,"系统异常");private Integer code;private String msg;ResultEnum(Integer code , String msg){this.code = code;this.msg = msg;}public Integer getCode() {return code;}public String getMsg() {return msg;}}
三、示例
@ApiOperation(value = "用户登录",notes = "用户登录")@PostMapping(path = "/login")public MyResult userLogin(@RequestBody UserInfo user1){//业务层获取用户信息UserInfo info = userInfoService.userLogin(user1);//成功返回return MyResult.success(info);}
Java封装统一返回结果集相关推荐
- java封装统一返回结果工具类(CommonResultUtils)
1. 在common模块下创建子模块common_utils 2.common_utils 模块内定义返回状态码接口以及返回结果类 返回状态码: /*** 定义返回状态码*/ public inter ...
- Java 统一返回结果集封装
Java 统一返回结果集封装 封装实体类 调用 封装实体类 /*** 统一返回结果集实体类* @param <T> 返回数据对象*/ @Data public class ErrorMsg ...
- Java全局统一返回处理
新项目中不希望每次返回参数还要重新封装再返回,希望直接将查询数据或者返回数据统一定义进行返回,所以将新项目中的全局统一返回配置记录,备忘.同时分享给有需要的码友.(例:查询出来的对象集合直接返回,会统 ...
- Java 调用存储过程 返回结果集
这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...
- java统一返回结果集封装,解决No converter found for return value of type
网上很多,自己参照手写了一个. package com.***.pro.utils;/*** @Author: wsh*/public class Result<T> {private B ...
- java model 封装_Java封装统一的Result Model案例
在开发过程中,有时候会需要使用错误码+错误信息的形式,来返回某些业务操作的错误结果信息,来代替效率较低的异常传递. 这样就需要封装一个统一的Result model作为返回值,代替直接返回数据等结果. ...
- SpringBoot统一返回处理出现cannot be cast to java.lang.String异常
SpringBoot统一返回处理出现cannot be cast to java.lang.String异常 一 问题出现背景: 二 解决方案 三 异常原因分析 原因: 源码详细分析: 正常返回: 返 ...
- java purge_springboot之全局处理统一返回
springboot之全局处理统一返回 简介 在REST风格的开发中,避免通常会告知前台返回是否成功以及状态码等信息.这里我们通常返回的时候做一次util的包装处理工作,如:Result类似的类,里面 ...
- java中飞飞检查异常_Springboot项目如何在controller层统一返回数据以及处理异常
在开发项目中,对于controller返回数据同时返回可能大家都能够做到.也就是定义一个相应类,里面有code, msg,content(或data). 在此基础上可能还会再封装以下,搞个基础cont ...
最新文章
- C++ 引用类型简介
- 笔记本上的小键盘计算机怎样用,笔记本小键盘怎么开,详细教您笔记本小键盘怎么开启...
- 乔布斯 18 岁求职信拍卖价 22.24 万美元,值吗?
- c# winForm DotNetBar控件之SuperGridControl
- HTML5新增属性学习笔记
- PHP 超级全局变量
- JDK(11)+Tomcat(9.0)+Maven(3.6.0)+Eclipse(2018-9)+SVN插件+Mysql(8.0)+Navicat fo Mysql +postman开发环境搭建
- 【五线谱】重音记号、渐强记号、渐弱记号
- Python中字母大小写转换
- 2022华为机试真题 C++ 实现【勾股数元组】
- 数据挖掘:Apriori 关联规则分析算法原理分析与代码实现
- HTML5开发工具有哪些?
- 核心案例|中国民用航空飞行学院半实物飞行仿真平台
- python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx
- android 横竖切换demo,移动页面横竖屏切换提示 - 轩枫阁
- 使用老毛桃制作U盘启动盘
- Arduino驱动LM35温度传感器自制温度计
- Discuz中常用数据库操作
- Inno Setup中文语言包下载
- 剑指offer面试题(31-40)——java实现