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

一、统计返回结果集

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. oracle创建自增
  2. V4L2框架分析学习
  3. Introspection
  4. factors to consider about the publications
  5. mpvue template compiler 中文版教程
  6. WordPress网站搬家教程(根目录程序+ MySQL数据库)
  7. android 振动传感器,Android光线传感器
  8. .net core 实践笔记(一)--开篇
  9. OpenCV图像灰度化的六种方法
  10. 哈工大C语言程序设计精髓MOOC 第十二周编程题
  11. LeetCode1456——定长子串中元音的最大数目
  12. orcale中like用法详解
  13. Excel学习笔记:P27-我的表格有重复内容该怎么办?简单三招让它们现出原形
  14. 定位“良心优品”,国民手机Z5能否让联想重回辉煌?
  15. 特定于患者的计算流体动力学在冠状动脉和心脏内血流模拟中的应用:挑战和机遇
  16. postgresql计算两点距离
  17. 提升技术团队战斗力的几件事
  18. python向es写入大量数据_使用Python-elasticsearch-bulk批量快速向elasticsearch插入数据_李谦的博客-CSDN博客...
  19. 记录:UsbManager的使用
  20. 运营商IMS网间互联互通组网关键技术研究

热门文章

  1. php 断点调试 PHPStorm Xdebug helper
  2. cnpm 是什么?怎么配置?
  3. 日志审计与分析--Linux日志收集(配置rsyslog服务收集其他Linux服务器日志)
  4. import java.util.scanner是什么意思
  5. 传阿里巴巴已向港交所提交上市申请 拟融资78亿
  6. autoware.auto泊车规划模块介绍(一)
  7. 用appium一定要注意这个参数,不然就会清空数据了(appium打开软件怎么才能不清空数据)
  8. 母子页的iframe传参跳转,参数需要编码
  9. unity坐标转换总结
  10. putty ssh 连接报错: unexpeted SSH2_MSG_UNIMPLEMENTED packet