此封装返回结果集主要包括:状态码、结果描述、数据。可根据结果调用对应的结果集方法返回,返回数据中可以为任意类型的数据。

一、统计返回结果集

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封装统一返回结果集相关推荐

  1. java封装统一返回结果工具类(CommonResultUtils)

    1. 在common模块下创建子模块common_utils 2.common_utils 模块内定义返回状态码接口以及返回结果类 返回状态码: /*** 定义返回状态码*/ public inter ...

  2. Java 统一返回结果集封装

    Java 统一返回结果集封装 封装实体类 调用 封装实体类 /*** 统一返回结果集实体类* @param <T> 返回数据对象*/ @Data public class ErrorMsg ...

  3. Java全局统一返回处理

    新项目中不希望每次返回参数还要重新封装再返回,希望直接将查询数据或者返回数据统一定义进行返回,所以将新项目中的全局统一返回配置记录,备忘.同时分享给有需要的码友.(例:查询出来的对象集合直接返回,会统 ...

  4. Java 调用存储过程 返回结果集

    这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...

  5. java统一返回结果集封装,解决No converter found for return value of type

    网上很多,自己参照手写了一个. package com.***.pro.utils;/*** @Author: wsh*/public class Result<T> {private B ...

  6. java model 封装_Java封装统一的Result Model案例

    在开发过程中,有时候会需要使用错误码+错误信息的形式,来返回某些业务操作的错误结果信息,来代替效率较低的异常传递. 这样就需要封装一个统一的Result model作为返回值,代替直接返回数据等结果. ...

  7. SpringBoot统一返回处理出现cannot be cast to java.lang.String异常

    SpringBoot统一返回处理出现cannot be cast to java.lang.String异常 一 问题出现背景: 二 解决方案 三 异常原因分析 原因: 源码详细分析: 正常返回: 返 ...

  8. java purge_springboot之全局处理统一返回

    springboot之全局处理统一返回 简介 在REST风格的开发中,避免通常会告知前台返回是否成功以及状态码等信息.这里我们通常返回的时候做一次util的包装处理工作,如:Result类似的类,里面 ...

  9. java中飞飞检查异常_Springboot项目如何在controller层统一返回数据以及处理异常

    在开发项目中,对于controller返回数据同时返回可能大家都能够做到.也就是定义一个相应类,里面有code, msg,content(或data). 在此基础上可能还会再封装以下,搞个基础cont ...

最新文章

  1. C++ 引用类型简介
  2. 笔记本上的小键盘计算机怎样用,笔记本小键盘怎么开,详细教您笔记本小键盘怎么开启...
  3. 乔布斯 18 岁求职信拍卖价 22.24 万美元,值吗?
  4. c# winForm DotNetBar控件之SuperGridControl
  5. HTML5新增属性学习笔记
  6. PHP 超级全局变量
  7. JDK(11)+Tomcat(9.0)+Maven(3.6.0)+Eclipse(2018-9)+SVN插件+Mysql(8.0)+Navicat fo Mysql +postman开发环境搭建
  8. 【五线谱】重音记号、渐强记号、渐弱记号
  9. Python中字母大小写转换
  10. 2022华为机试真题 C++ 实现【勾股数元组】
  11. 数据挖掘:Apriori 关联规则分析算法原理分析与代码实现
  12. HTML5开发工具有哪些?
  13. 核心案例|中国民用航空飞行学院半实物飞行仿真平台
  14. python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx
  15. android 横竖切换demo,移动页面横竖屏切换提示 - 轩枫阁
  16. 使用老毛桃制作U盘启动盘
  17. Arduino驱动LM35温度传感器自制温度计
  18. Discuz中常用数据库操作
  19. Inno Setup中文语言包下载
  20. 剑指offer面试题(31-40)——java实现

热门文章

  1. 使用VS2013做简单的C程序解析
  2. Python之一个关于天气的csv文件中获取最高和最低气温的图表
  3. Java制作报表系统流程_基于JAVA报表生成系统设计与实现.doc
  4. 活动推荐 | 听说 PHP 是最好的语言 - 和 OneAPM 一起参与上海 PHPCon 技术盛宴
  5. 移动端web开发( 01)
  6. jsp验证用户名和密码
  7. 利用CE修改内存方法通关
  8. Python使用py2exe打包exe程序
  9. P1006晴天小猪历险记之Hill
  10. 销声匿迹后,黑市xDedic再次「重出江湖」