1.全局统一处理结果类

package com.atguigu.yygh.common.result;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;/*** 全局统一返回结果类*/
@Data
@ApiModel(value = "全局统一返回结果")
public class Result<T> {@ApiModelProperty(value = "返回码")private Integer code;@ApiModelProperty(value = "返回消息")private String message;@ApiModelProperty(value = "返回数据")private T data;public Result(){}protected static <T> Result<T> build(T data) {Result<T> result = new Result<T>();if (data != null)result.setData(data);return result;}public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {Result<T> result = build(body);result.setCode(resultCodeEnum.getCode());result.setMessage(resultCodeEnum.getMessage());return result;}public static <T> Result<T> build(Integer code, String message) {Result<T> result = build(null);result.setCode(code);result.setMessage(message);return result;}public static<T> Result<T> ok(){return Result.ok(null);}/*** 操作成功* @param data* @param <T>* @return*/public static<T> Result<T> ok(T data){Result<T> result = build(data);return build(data, ResultCodeEnum.SUCCESS);}public static<T> Result<T> fail(){return Result.fail(null);}/*** 操作失败* @param data* @param <T>* @return*/public static<T> Result<T> fail(T data){Result<T> result = build(data);return build(data, ResultCodeEnum.FAIL);}public Result<T> message(String msg){this.setMessage(msg);return this;}public Result<T> code(Integer code){this.setCode(code);return this;}public boolean isOk() {if(this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {return true;}return false;}
}

2.统一返回结果状态信息类

package com.atguigu.yygh.common.result;import lombok.Getter;/*** 统一返回结果状态信息类*/
@Getter
public enum ResultCodeEnum {SUCCESS(200,"成功"),FAIL(201, "失败"),PARAM_ERROR( 202, "参数不正确"),SERVICE_ERROR(203, "服务异常"),DATA_ERROR(204, "数据异常"),DATA_UPDATE_ERROR(205, "数据版本异常"),LOGIN_AUTH(208, "未登陆"),PERMISSION(209, "没有权限"),CODE_ERROR(210, "验证码错误"),
//    LOGIN_MOBLE_ERROR(211, "账号不正确"),LOGIN_DISABLED_ERROR(212, "改用户已被禁用"),REGISTER_MOBLE_ERROR(213, "手机号已被使用"),LOGIN_AURH(214, "需要登录"),LOGIN_ACL(215, "没有权限"),URL_ENCODE_ERROR( 216, "URL编码失败"),ILLEGAL_CALLBACK_REQUEST_ERROR( 217, "非法回调请求"),FETCH_ACCESSTOKEN_FAILD( 218, "获取accessToken失败"),FETCH_USERINFO_ERROR( 219, "获取用户信息失败"),//LOGIN_ERROR( 23005, "登录失败"),PAY_RUN(220, "支付中"),CANCEL_ORDER_FAIL(225, "取消订单失败"),CANCEL_ORDER_NO(225, "不能取消预约"),HOSCODE_EXIST(230, "医院编号已经存在"),NUMBER_NO(240, "可预约号不足"),TIME_NO(250, "当前时间不可以预约"),SIGN_ERROR(300, "签名错误"),HOSPITAL_OPEN(310, "医院未开通,暂时不能访问"),HOSPITAL_LOCK(320, "医院被锁定,暂时不能访问"),;private Integer code;private String message;private ResultCodeEnum(Integer code, String message) {this.code = code;this.message = message;}
}

全局统一返回结果包装信息相关推荐

  1. Java全局统一返回处理

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

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

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

  3. api laravel 统一返回方法_你写的API接口代码真的烂,难道不能对返回格式统一处理一下吗?...

    随着互联网各岗位精细化分工的普及,出现了很多的系统架构设计,比如常见的前后端分离架构,后端提供接口给前端,前端根据接口的数据进行渲染,大家各执其职,效率也非常的高,但是随着接口的增加,如果不统一的规范 ...

  4. 后台接口统一返回类型-ResponseBodyAdvice

    思路 1.自定义一个注解@ResponseResult用于在方法或者类上面标注,标识这个接口需要包装数据 2.拦截请求.判断此请求是否被@ResponseResult注解标注 3.实现接口Respon ...

  5. Spring中Controller层、Filter层、Interceptor层全局统一异常处理

    Controller层.Filter层.Interceptor层全局统一异常处理 SpringBoot为异常处理提供了很多优秀的方法,但是像我这种新手在处理异常时还是会觉得一头包,终于我痛定思痛,总结 ...

  6. apache dubbo 自定义全局统一的异常处理器

    项目使用过的是apache dubbo 2.7.1, 封装了自定义全局统一的异常处理器. 统一异常处理器 需要实现javax.ws.rs.ext.ExceptionMapper接口. import o ...

  7. Spring Boot 2.x(六):优雅的统一返回值

    目录 为什么要统一返回值 ReturnVO ReturnCode 使用ReturnVO 使用AOP进行全局异常的处理 云撸猫 公众号 为什么要统一返回值 在我们做后端应用的时候,前后端分离的情况下,我 ...

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

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

  9. Glusterfs全局统一命名空间

    全局统一命名空间 Glusterfs采用了全局统一命名空间设计,将磁盘和内存资源聚集成一个单一的虚拟存储池进行管理,并在此命名空间中使用NFS/CIFS等标准协议来访问应用数据.与其他分布式文件系统有 ...

最新文章

  1. Modeling System Behavior with Use Case(1)
  2. C++中栈和堆上建立对象的区别
  3. Ubuntu16安装CUDA9.0+Anaconda+Tensorflow1.8GPU(2018.08.20最新)
  4. [转]memset用法详解
  5. 原生JS封装自己的AJAX
  6. VS或编译的时候不生成Release文件夹
  7. C++中如何小数点后精确到两位输出
  8. 20170702-变量说明,静态方法,类方法区别,断点调试,fork,yield协程,进程,动态添加属性等。。...
  9. 好用的论文翻译工具集锦
  10. 搭建Kangle+EasyPanel+WHMCS实时开通付费虚拟空间
  11. uni-app(微信小程序)连接HC系列蓝牙模块并进行双向通信采坑总结
  12. 【黑曼巴】菜鸟HTML
  13. 安卓APP限制截屏录屏解决方案
  14. 2011正月初3 震中映秀
  15. AntV G6 的坑之——从卡掉渣到满帧需要几步
  16. Linux ManJaro 换源、安装应用
  17. java 短信验证码(创蓝接口)调用
  18. SpringBoot实体类返回JEON属性值排空返回
  19. JAVA8线程池THREADPOOLEXECUTOR底层原理及其源码解析
  20. 2021年机修钳工(技师)考试题库及机修钳工(技师)模拟考试

热门文章

  1. C/C++隐式类型转换导致的若干问题
  2. exe文件添加为服务
  3. if condition 大于_if __name__ == #x27;__main__#x27;: 究竟起什么作用,阅读本文后,其他文章不必再看...
  4. 并发测试工具_软件测试工程师都在用哪些测试工具?
  5. 模板 字段_Anki学习之路(08)|什么是Anki模板类型?什么是字段?
  6. 菜鸟要飞java_Java Android视频教程 下载
  7. mysql实现日志系统_基于Hadoop/CloudBase/MySQL的日志分析系统的设计与实现
  8. brew安装_苹果mac系统必须安装python3
  9. 临沧计算机教试报名,2019下半年临沧小学计算机教师资格证考什么?
  10. 计算机与数学文化论文参考文献,数学文化与人类文明论文.doc