Spring Boot定义类处理API通用返回数据

news/2024/10/18 8:22:17/

枚举类AppHttpCodeEnum

java">package com.yutu.common.core.constant;public enum AppHttpCodeEnum {SUCCESS(200, "操作成功"), // 成功段0REQUEST_NOT_FOUND(404, "请求不存在!"),HTTP_BAD_METHOD(405, "请求方式不支持!"),BAD_REQUEST(400, "请求异常!"),PARAM_NOT_MATCH(400, "参数不匹配!"),PARAM_NOT_NULL(400, "参数不能为空!"),UNAUTHORIZED(401, "请先登录!"),ACCESS_DENIED(403, "权限不足!"),PARAM_REQUIRE(500, "缺少参数"),    // 参数错误 500~1000PARAM_INVALID(501, "无效参数"),PARAM_IMAGE_FORMAT_ERROR(502, "图片格式有误"),SERVER_ERROR(503, "服务器内部错误"),REQUEST_TIMEOUT(508, "服务请求超时,稍后重试"),//用户接口枚举USER_INSERT_USERNAME_EXISTS(1001, "新增失败,该用户名已存在"),USER_INSERT_PHONE_EXISTS(1002, "新增失败,该电话号码已存在"),USER_INSERT_EMAIL_EXISTS(1003, "新增失败,该电话邮箱已存在"),USER_UPDATE_PHONE_EXISTS(1004, "修改失败,该电话号码已存在"),USER_UPDATE_EMAIL_EXISTS(1005, "修改失败,该电话邮箱已存在"),USER_NOT_UPDATE_ADMIN(1006, "修改失败,无法修改超级管理员信息"),USER_GET_ERROR(1007, "获取用户失败"),USERNAME_PASSWORD_ERROR(1008, "用户名或密码错误!"),USER_DISABLED(1009, "当前用户已被锁定,请联系管理员解锁!"),//岗位接口枚举POST_INSERT_NAME_EXISTS(1501, "新增失败,该岗位名称已存在"),POST_INSERT_CODE_EXISTS(1502, "新增失败,该岗位编码已存在"),POST_UPDATE_NAME_EXISTS(1501, "修改失败,该岗位名称已存在"),POST_UPDATE_CODE_EXISTS(1502, "修改失败,该岗位编码已存在"),//菜单接口枚举MENU_INSERT_NAME_EXISTS(2001, "新增失败,该菜单名称已存在"),MENU_UPDATE_NAME_EXISTS(2002, "修改失败,该菜单名称已存在"),MENU_UPDATE_PARENT_IS_SELF(2003, "修改失败,父级不能是自己"),MENU_DELETE_HAS_CHILD(2004, "删除失败,该菜单存在子菜单"),MENU_DELETE_DIST(2005, "删除失败,菜单已分配"),//角色接口枚举ROLE_INSERT_NAME_EXISTS(2501, "新增失败,该角色名称已存在"),ROLE_INSERT_KEY_EXISTS(2502, "新增失败,该角色权限已存在"),ROLE_UPDATE_NAME_EXISTS(2503, "修改失败,该角色名称已存在"),ROLE_UPDATE_KEY_EXISTS(2504, "修改失败,该角色权限已存在"),ROLE_UPDATE_ERROR(2505, "修改角色失败,联系管理员"),ROLE_NOT_UPDATE_ADMIN(2506, "修改失败,无法修改超级管理员角色信息"),ROLE_DELETE_DIST(2507, "删除失败,该角色已经分配"),//部门接口枚举DEPT_INSERT_NAME_EXISTS(3001, "新增部门失败,该部门下此部门名称已存在"),DEPT_UPDATE_NAME_EXISTS(3001, "修改部门失败,该部门下此部门名称已存在"),DEPT_UPDATE_PARENT_IS_SELF(3001, "修改失败,父级不能是自己"),DEPT_UPDATE_CHILD_HAS_ENABLE(3001, "修改部门状态失败,子部门存着未停用状态"),DEPT_DELETE_HAS_CHILD(3001, "删除失败,该部门存在子级部门"),DEPT_DELETE_HAS_USER(3002, "删除失败,该部门存在用户"),//字典类型接口枚举DICTTYPE_INSERT_TYPE_EXISTS(4001, "新增失败,该字典类型已存在"),DICTTYPE_UPDATE_TYPE_EXISTS(4002, "修改失败,该字典类型已存在"),//权限认证枚举TOKEN_EXPIRED(5002, "token 已过期,请重新登录!"),TOKEN_PARSE_ERROR(5002, "token 解析失败,请尝试重新登录!"),TOKEN_USER_ERROR(5002, "token 解析用户信息失败,请尝试重新登录!"),//公园枚举PARK_INSERT_ERROR(6001, "公园新增失败,联系管理员解决问题"),PARK_UPDATE_ERROR(6002, "公园修改失败,联系管理员解决问题"),PARK_DELETE_ERROR(6003, "公园删除失败,联系管理员解决问题"),PARK_INSERT_EXISTS(6004, "公园新增失败,该公园名称已存在"),PARK_UPDATE_EXISTS(6004, "公园修改失败,该公园名称已存在"),;int code;String errorMessage;AppHttpCodeEnum(int code, String errorMessage) {this.code = code;this.errorMessage = errorMessage;}public int getCode() {return code;}public String getErrorMessage() {return errorMessage;}
}

通用返回数据类ResponseResult

java">package com.yutu.common.core.web.domain;import com.yutu.common.core.constant.AppHttpCodeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;import java.io.Serializable;/*** 通用的结果返回类** @param <T>*/
@ApiModel("api通用返回数据")
public class ResponseResult<T> implements Serializable {private String host;@ApiModelProperty("标识代码,0为成功,非0表示失败")private Integer code;@ApiModelProperty("提示信息,供报错使用")private String errorMessage;@ApiModelProperty("提示信息,供正确使用")private String message;@ApiModelProperty("返回数据")private T data;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public ResponseResult() {this.code = 200;}public ResponseResult(Integer code, T data) {this.code = code;this.data = data;}public ResponseResult(Integer code, String msg, T data) {this.code = code;this.errorMessage = msg;this.data = data;}public ResponseResult(Integer code, String msg) {this.code = code;this.errorMessage = msg;}public static <T> ResponseResult<T> errorMsg(Integer code, String msg) {ResponseResult<T> result = new ResponseResult<T>();return result.error(code, msg);}public static <T> ResponseResult<T> errorMsg(String msg) {ResponseResult<T> result = new ResponseResult<T>();return result.error(500, msg);}public static <T> ResponseResult<T> errorResult(T data) {ResponseResult<T> result = new ResponseResult<T>();return result.error(data);}public static <T> ResponseResult<T> okResult(int code, String msg) {ResponseResult<T> result = new ResponseResult<T>();return result.ok(code, null, msg);}public static <T> ResponseResult<T> okResult() {return setAppHttpCodeEnum(AppHttpCodeEnum.SUCCESS, AppHttpCodeEnum.SUCCESS.getErrorMessage());}public static <T> ResponseResult<T> okResult(T data) {ResponseResult<T> result = setAppHttpCodeEnum(AppHttpCodeEnum.SUCCESS, AppHttpCodeEnum.SUCCESS.getErrorMessage());if (data != null) {result.setData(data);}return result;}public static <T> ResponseResult<T> errorResult(AppHttpCodeEnum enums) {return setAppHttpCodeEnum(enums, enums.getErrorMessage());}public static <T> ResponseResult<T> errorResult(AppHttpCodeEnum enums, String errorMessage) {return setAppHttpCodeEnum(enums, errorMessage);}public static <T> ResponseResult<T> setAppHttpCodeEnum(AppHttpCodeEnum enums) {return okResult(enums.getCode(), enums.getErrorMessage());}private static <T> ResponseResult<T> setAppHttpCodeEnum(AppHttpCodeEnum enums, String errorMessage) {return okResult(enums.getCode(), errorMessage);}public ResponseResult<T> error(Integer code, String msg) {this.code = code;this.errorMessage = msg;return this;}public ResponseResult<T> error(T data) {this.code = 500;this.data = data;return this;}public ResponseResult<T> ok(Integer code, T data) {this.code = code;this.data = data;return this;}public ResponseResult<T> ok(Integer code, T data, String msg) {this.code = code;this.data = data;this.message = msg;return this;}public ResponseResult<T> ok(T data) {this.data = data;return this;}public ResponseResult<T> put(String key, Object value) {return this;}public String getHost() {return host;}public void setHost(String host) {this.host = host;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getErrorMessage() {return errorMessage;}public void setErrorMessage(String errorMessage) {this.errorMessage = errorMessage;}public T getData() {return data;}public void setData(T data) {this.data = data;}
}

Controller中使用

java">@Log(title = "养护计划", operate = "获取计划流程", businessType = BusinessType.QUERY)
@GetMapping("/getCuringPlanProcessInfoList")
@ApiOperationSupport(order = 1, author = "ckm")
@ApiOperation(value = "获取计划流程", tags = "养护计划接口")
public ResponseResult<List<CuringPlanProcessInfo>> getCuringPlanProcessInfoList(@RequestParam(value = "id")Integer id){if(ObjectUtils.isEmpty(id)){return ResponseResult.errorMsg(501,"必须有计划ID");}return ResponseResult.okResult(curingPlanInfoService.getCuringPlanProcessInfoList(id));
}

http://www.ppmy.cn/news/1432263.html

相关文章

类和对象(2)——封装(封装的概念、包、staic)

前言 面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象阶段&#xff0c;主要研究的就是封装特性。何为封装呢&#xff1f;简单来说就是套壳屏蔽细节。 一、什么是封装 1.1 概念 将数据和操作数据的方法进行有机结合&#xff0c;隐藏对象的属性和实现细节&…

成长工作思考

前言 这一篇&#xff0c;不是技术博客&#xff0c;而是个人发展的一些思考和总结&#xff0c;复盘才会做的更好&#xff0c;成长的道路当然不是随着时间推移 开场白 不劳而获的是时间&#xff0c;完全免费的&#xff0c;但是免费的同时也是最贵的。向前看仿佛时间悠悠无边&a…

SLICEM是如何将查找表配置为分布式RAM/移位寄存器的

1.首先说SliceM和SliceL如何配置为ROM的 一个SLICE包含4个六输入查找表&#xff0c;因此每个查找表就能存储64bit的数据&#xff0c;要实现128bit的ROM&#xff0c;只需要通过两个LUT就可实现&#xff0c;具体如下表: 2.如何配置成为分布式RAM SLICEM中的LUT如下图&#xff…

力扣:141. 环形链表

力扣&#xff1a;141. 环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾…

Linux之安装Nginx

目录 传送门前言一、快速安装二、反向代理语法1、基本语法2、location语法1. 基本语法2. 匹配规则3. 修饰符4. 权重5. 嵌套location6. 其他指令7.案例 三、配置反向代理 传送门 SpringMVC的源码解析&#xff08;精品&#xff09; Spring6的源码解析&#xff08;精品&#xff0…

C++/Qt 小知识记录5

工作中遇到的一些小问题&#xff0c;总结的小知识记录&#xff1a;C/Qt 小知识5 Windows下查看端口占用情况C调用Python三方库测试库有没有被加上的测试方法初始化使用Python的env环境&#xff0c;用Py_SetPythonHome设置GDAL相关的&#xff0c;需要把osgeo、rasterio的路径加入…

HashMap,HashTable与ConcurrentHashMap

目录 正文&#xff1a; 1.HashMap 1.1概念 1.2原理 1.3线程不安全 2.HashTable 2.1概念 2.2原理 2.3线程安全 3.ConcurrentHashMap 3.1概念 3.2原理 3.3线程安全 总结&#xff1a; 正文&#xff1a; 1.HashMap 1.1概念 HashMap是Java中的一个数据结构&#xf…

Rx.Net 第四章

哇&#xff0c;你在这一章学到了很多。你应该为自己感到骄傲。本章所涵盖的内容几乎会在你创建的每个可观察对象管道中用到:所有可观察对象都实现IObservable接口。 不鼓励通过手动实现IObservables接口来创建可观察对象。相反&#xff0c;使用一个内置的创建操作符。 …