springboot3。x统一返回值,统一异常处理。
1,本次我们通过自定义返回对象,然后再各个controller统一返回这个对象
新建如下泛型对象类publicclassRsObjectTimplementsSerializable{privatestaticfinallongserialVersionUID1L;业务返回状态码200代表成功privateIntegercode200;返回消息privateStringmessagesuccess;返回的数据对象privateTdata;publicRsObjectTok(Tdata){this。setData(data);returnthis;}publicbooleansuccess(){returncode200?true:false;}publicRsObjectTerror(){this。code500;this。message服务内部错误;returnthis;}publicRsObjectTerror(intcode){this。codecode;this。message;returnthis;}publicRsObjectTerror(intcode,Stringmessage){this。codecode;this。messagemessage;returnthis;}publicRsObjectTerror(Stringmessage){this。code500;this。messagemessage;returnthis;}publicintgetCode(){returncode;}publicvoidsetCode(intcode){this。codecode;}publicStringgetMessage(){returnmessage;}publicvoidsetMessage(Stringmessage){this。messagemessage;}publicTgetData(){returndata;}publicvoidsetData(Tdata){this。datadata;}}
然后在需要的地方调用返回值即可,如登录请求
2,我们下面来编写和使用统一异常处理
核心模块是RestControllerAdvice这个注解,我们定义一个全局的异常对象统一异常处理RestControllerAdvicepublicclassGlobalExceptionHandler{privatestaticfinalLoggerloggerLoggerFactory。getLogger(GlobalExceptionHandler。class);处理自定义异常ExceptionHandler(ServerException。class)publicRsObjecthandleRenException(ServerExceptionex){RsObjectresultnewRsObject();result。error(ex。getCode(),ex。getMessage());returnresult;}ExceptionHandler(DuplicateKeyException。class)publicRsObjecthandleDuplicateKeyException(DuplicateKeyExceptionex){RsObjectresultnewRsObject();result。error(ErrorCode。DBRECORDEXISTS);returnresult;}ExceptionHandler(Exception。class)publicRsObjecthandleException(Exceptionex){logger。error(ex。getMessage(),ex);returnnewRsObject()。error();}}
自定义异常类publicclassServerExceptionextendsRuntimeException{privatestaticfinallongserialVersionUID1L;privateintcode;privateStringmessage;publicServerException(intcode){this。codecode;this。messageMessageUtils。getMessage(code);}publicServerException(intcode,String。。。params){this。codecode;this。messageMessageUtils。getMessage(code,params);}publicServerException(intcode,Throwablee){super(e);this。codecode;this。messageMessageUtils。getMessage(code);}publicServerException(intcode,Throwablee,String。。。params){super(e);this。codecode;this。messageMessageUtils。getMessage(code,params);}publicServerException(Stringmessage){super(message);this。code500;this。messagemessage;}publicServerException(Stringmessage,Throwablee){super(message,e);this。code500;this。messagemessage;}publicStringgetMessage(){returnmessage;}publicvoidsetMessage(Stringmessage){this。messagemessage;}publicintgetCode(){returncode;}publicvoidsetCode(intcode){this。codecode;}}
运行程序,触发异常如下
网页请求显示
另外后台的前端框架参考vuepureadmin,使用其中的最简单版本
下一篇我要打通前后端,优先打通登录和用户信息
沿用美式期权行权方式,乙二醇苯乙烯期权公开征求意见12月15日,大商所发布公告,就乙二醇期货期权、苯乙烯期货期权(下称乙二醇期权、苯乙烯期权)合约向市场公开征求意见,意见反馈截止时间为12月21日。据公告,乙二醇、苯乙烯……
2月总结收益20,很懒但依然很赚的一个月!每个月开始写总结和反思,即是对自己的监督,又可以记录自己的交易经历,复盘优缺扬长避短,然后根据情况规划下个月的安排,让自己不断的成长。我的总结主要围绕以下展开:1。……
陈凯歌那个女孩怀孕了,我要给她一个交代人们不理解,无美颜无整容时代少有的天然大美人,怎么就这么心甘情愿退居幕后做起贤妻良母呢?当年的陈红,明眸皓齿,顾盼生辉,一颦一笑都丝丝牵动人心,称一声绝色都不为过。……
酒店钟点房只有白天开?短短四个小时能做什么?前台能办事一到节假日,我国越来越多的小伙伴会选择出去走走,看一看外面的花花世界,增加见识的同时,也可以给自己适当的放一个假,缓解紧张的心情。(此处已添加小程序,请到今日头条客户端查看)……
这5种廉价的蔬菜晒干后,美味翻10倍!放一年也不坏,炖肉超过大家好,现在已经进入了深秋季节,在这个凉爽的秋季,很多的蔬菜食材都大量的上市了,不仅口感美味,而且营养价值很高。但是过了秋季以后,想要吃到这些新鲜蔬菜的话,就只有等明年,……
Tof原理及应用1。引言ToF(Timeofflight)是飞行时间法,它是一种深度测量的方法,精度为厘米级。因为其原理简单,小型化,测量距离范围较大,抗干扰能力较强,而得到广泛的应用,……
不吹不黑,系花都食葱油饼,我首选富华市场这家15年老店今天的主角是一家15年的小吃店北京富源葱油大饼菜市场是打开一座城市的正确方式,不起眼的地方里,总有看似平凡的小店带来别样的惊喜。今天我们就来到了富华市场……
洋葱炒什么最健康?洋葱炒什么最健康?洋葱是菜市场里比较常见的一种根茎类蔬菜。市面上的洋葱有三种颜色,白色、黄色和紫色。我个人比较喜欢买紫色的洋葱来做菜,觉得口感和卖相都比另外两种好。……
去江西必吃的8道美食,道道经典,本地人最爱,外地人难忘物华天宝,人杰地灵,说的就是江西,江西地理位置优越,历史底蕴浓厚。王勃的一句落霞与孤鹜齐飞,秋水共长天一色,游客们慕名来到滕王阁,赏美景、吃美食。江西的美食色重油浓,偏爱……
这5种自带花青素的食物,建议女人过了50岁,要舍得吃花青素是一种抗氧化成分,其抗氧化效果是维生素E的50倍之多,是维生素C的20倍。三伏天多吃一些富含花青素的食物,可以使女性朋友降低被晒黑的风险。建议女人要常吃,一起来看看吧!紫……
喝白酒与喝啤酒,哪个对身体影响大?喝等量的还是白酒伤身。无论是什么酒喝过量都伤身〔呲牙〕这问题我知道的是,在不喝过量的情况下,也要分体质,有的适合喝白酒,有的适合喝啤酒,我晓得是,如体质寒湿的人喝啤……
冠心病能治愈吗?哪些人群易患上冠心病越来越多的人患上了冠心病,这种疾病的发生给患者的健康带来了很大的隐患,那么冠心病能治愈吗?治疗冠心病并不能治愈到血管恢复原来的样子,治疗只是实现心功能的一种缓解或者血液的一种再……