本文记录下如何在工程中,配置后台的统一公共返回类,这样做目的是为了统一返回信息,方便项目进行管理。使用技术:springboot+swagger+lombok
具体过程如下,在respon文件夹下分别建立 customizeresultcode 接口,枚举类resultcode 实现customizeresultcode 接口和result类:
1 配置自定义返回类接口,该接口中包含 错误状态码和错误信息
public interface customizeresultcode { /* 获取错误码 @return 错误状态码 */ integer getcode(); /* 获取错误信息 @return 错误信息 */ string getmessage();}
2 配置返回实现类,注意这里是个枚举类,里面的编码仅供参考,可以自定义
/** * @description: 返回码定义 * 规定: * #200表示成功 * #400表示错误 * #1001~1999 区间表示参数错误 * #2001~2999 区间表示用户错误 * #3001~3999 区间表示接口异常 * #后面对什么的操作自己在这里注明就行了 */public enum resultcode implements customizeresultcode{ /* 成功 */ success(200, "成功"), /*错误*/ error(400,"错误失败"), /* 默认失败 */ common_fail(999, "失败"), /* 参数错误:1000~1999 */ param_not_valid(1001, "参数无效"), param_is_blank(1002, "参数为空"), /* 用户错误 */ ur_not_login(2001, "用户未登录"), ur_account_expired(2002, "账号已过期"), ur_credentials_error(2003, "密码错误"), /*运行时异常*/ arithmetic_exception(9001,"算数异常"); ; private integer code; private string message; resultcode(integer code,string message){ this.code=code; this.message=message; } @override public integer getcode() { return code; } @override public string getmessage() { return message; }}
3 定义具体的返回类方法
@datapublic class resul在中秋节英语t { @apimodelproperty(value = "是否成功") private boolean success; @apimodelproperty (value= "返回码") private integer code; @科学小报内容apimodelproperty(value = "返回大眼妆怎么画消息") private string message; @apimodelproperty(value = "返回数据") private map<string,object> data=new hashmap<>(); /* 构造方法私有化,里面的方法都为静态方法 达到保护属性的作用 */ private result(){ } /* 使用链式编程 该部分在项目组中一般是项目组长写好的 */ public static result ok(){ result result=new result(); result.tsuccess(true); result.tcode(resultcode.success.getcode()); result.tmessage(resultcode.success.getmessage()); return result; } public static result error(){ result result=new result(); result.tsuccess(fal); result.tcode(resultcode.error.getcode()); result.tmessage(resultcode.error.getmessage()); return result; } /* 自定义返回成功与否 */ public result success(boolean success){ this.tsuccess(success); return this; } public result message(string message){ this.tmessage(message); return this; } public result code(integer code){ this.tcode(code); return this; } public result data(string key,object笨鸟 value){ this.data.put(key,value); return this; } public result data(map<string,object>map){ this.tdata(map); return this; }}
controller在下面的文件中
@restcontroller@enableautoconfiguration@requestmapping("/system/info")@api(value = "系统模块",tags="系统接口")public class dcontroller { @autowired private drvice drvice; @getmapping @apioperation(value = "信息列表",notes = "查询所有信息") public result findds(){ list<doctordict>list=drvice.list(); //链式编程 return result.ok().data("urs",list); } }
测试结果成功
到此这篇关于springboot 统一公共返回类的实现的文章就介绍到这了,更多相关springboot 统一公共返回类内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.88755甘肃畜牧工程职业技术学院1.com!
本文发布于:2023-04-04 15:59:48,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c10b36d9d4b5cd6811d2ff09770c109d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:SpringBoot 统一公共返回类的实现.doc
本文 PDF 下载地址:SpringBoot 统一公共返回类的实现.pdf
留言与评论(共有 0 条评论) |