范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringCloudGateway过滤器控制异常返回(返回码和message字段)

  欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览前文《Spring Cloud Gateway过滤器精确控制异常返回(分析篇)》咱们阅读源码,了解到Spring Cloud Gateway是如何处理全局异常信息的,学了那么多理论,不免手痒想实战验证学习效果,今天咱们就来写代码,最终目标是改写下图两个红框中的内容:
  为了简单起见,本篇不再新增maven子工程,而是基于前文创建的子工程 gateway-change-body ,在这里面继续写代码;源码下载本篇实战中的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
  这个git项目中有多个文件夹,本篇的源码在 spring-cloud-tutorials 文件夹下,如下图红框所示:
  spring-cloud-tutorials 文件夹下有多个子工程,本篇的代码是 gateway-change-body ,如下图红框所示:
  第一种:抛出ResponseStatusException异常打开gateway-change-body 工程的RequestBodyRewrite.java文件,改动如下图红框,如果请求body不含user-id参数就返回Mono.error,入参是ResponseStatusException异常,设置了返回码为400,message为一段中文描述:
  接下来运行nacos、provider-hello工程、gateway-change-body工程 用postman发请求试试,请求和响应的详情如下图
  从上图可见,返回码为400,和我们设定的一样,但是message却为空,这是怎么回事呢?按照咱们的设定,这里应该显示 请求参数必须包含user-id字段 ,看来咱们遇到一只拦路虎 小小拦路虎咱们代码中,抛异常的时候设定message内容如下图红框所示,但运行的时候返回的是空字符串,这是怎么回事呢?
  来看DefaultErrorWebExceptionHandler.isIncludeMessage方法,看下图红框中的那个errorProperties,您会不会恍然大悟:这不就是springboot配置中的erro配置嘛!
  修改工程的配置文件,红框内是新增的配置:
  再用 postman试试,如下图,这一次,status、message、exception、trace齐聚一堂,完全符合预期
  看来第一种方法是可行的:返回ResponseStatusException类型的异常; 第二种:自定义异常,带ResponseStatus注解接下来试试第二种方法:通ResponseStatus注解 首先新建一个异常类MyGatewayException.java,使用了ResponseStatus,在里面配置返回码和message内容,这次的返回码用的是403: package com.bolingcavalry.changebody.exception;  import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus;  @ResponseStatus(code = HttpStatus.FORBIDDEN, reason = "user-id字段不能为空") public class MyGatewayException extends Exception { } 编码完成,重启应用,然后再发一次请求,如下图,返回码和message内容都符合预期
  至此,两种最简单的方式都完成验证,一般情况下已经满足要求:将错误信息准确传递给调用方 留有瑕疵聪明的您应该已发现上述两种方案有瑕疵:返回body的格式和字段都是固定的,如果项目中对返回body的内容有严格要求,例如只允许code、message、data三个字段,其余字段一律不能返回,此时又该怎么办呢?似乎需要一种方法,让咱们可以随心所欲的设置body内容,篇幅所限,这种终极的解决方式就留在下一篇吧,敬请期待,欣宸原创,必不辜负您…欢迎关注头条号:程序员欣宸学习路上,你不孤单,欣宸原创一路相伴...

使用Python对股票参数进行特征重要性分析前言特征重要性分析,顾名思义就是要看看这一批参数里面,各个参数对模型预测结果的贡献度分别是多少,对于每一个预测结果来说,哪些参数的贡献度是最大的,哪些参数是无关紧要的。在本文中,我拼多多与视频号逆势而上,2023快递告别流量焦虑?度过阵痛期后的快递行业迅速迎来复苏。2023年元旦三天,全国快递业务量达10。6亿件,比去年同期增长15。2。进入2023年以来,日均业务量持续在3。5亿件以上,甚至一度超过4亿件IMPay擎天架海,锚定Web3。0无限价值潜力Web3。0作为下一代互联网,也是未来10年造富效应最高的方向。目前Web3。0市场已经价值数万亿,有机构预计到2030年这一数字将翻不止10倍。而人们对于Web3。0的构想,则是网约车回本神器!这埃安纯电新车售13。98万续航超400km!近日,AION官方正式发布了AIONS的新增车型并且正式上市,新车名为AIONS炫550,官方指导价为13。98万元,在整体车系属于中配车型。新车主要针对配置方面有一定程度的调整。理想不理想,蔚来的自动驾驶不未来,新势力独剩小鹏新能源汽车市场发展至今走过了十几个年头,蔚来小鹏理想三家新能源汽车品牌于2015年前后成立后迅速收获了诸多消费者的目光。在销量上表现出色的三家车企分别揽获国内新势力车企销量冠亚季军2023年上半年新机潮打响,追求极致使用体验的看这三款一般情况下临近春节总是年轻人换手机的高潮,而且这段时间市面上的新机也比较多。所以2023年已经开始,没必要等9月发布最早10月才能到手的iPhone15,很多已经发布或即将发布的安才开了一万公里的奥迪Q7就亏了一半!36万买它划算吗?哈喽,大家好检车家老司机又和大家见面了!我是体重180,身高180,穿着44码大鞋的彪悍检测师黑大汉。我虽然外观看着比较傻壮,但是我心思缜密,不会放过任何一个检测细节,让客户买到放AI已死?不,AIGC给我们带来了新的希望氪记2022作者刘雨洁王与桐编辑石亚琼2022年的热门词汇有什么?AIGC当之无愧位列其中,甚至将名列前茅。从5月的DiscoDiffusion和DALLE2引起的AI作画潮流,到11月的ch生个女儿多好!研究生儿子就知道顶嘴,男宝妈后悔了家长的观念时时刻刻都影响着孩子,而且孩子也是反映家长真实一面的镜子,不过,有些娃儿也不全都随家长,而是会受不同的教育观念影响,成长为一个有责任心且有能力的人,和家长大相径庭。虽说龙太原人,阳后不少孩子遇到这个问题!眼科医生提醒要注意这些过去的几周内随着防疫政策的放开行程码健康码成为过去式病毒迅速席卷了每个角落在严防死守下不少小朋友还是感染了除了身体上的不舒服眼睛还开始酸痛平时戴的OK镜也不敢戴了家长们既着急担忧阳詹姆斯希望破纪录时亲友到场,儿子可能需缺席高中比赛近日,湖人前锋勒布朗詹姆斯接受了ESPN的专访。记者当你打破历史得分纪录的那晚,在球馆内见到什么人对你意义重大?詹姆斯我的家人。我知道无论那一刻在何时发生,那都将是有挑战性的。因为
山西省第八次旅发大会邀您相约关公故里共襄文旅融合以相约关公故里,共襄文旅融合为主题的2022年山西省第八次旅游发展大会(以下简称旅发大会)暨第33届关公文化旅游节将于9月2123日在运城市盛大启幕,这是一场具有运城特色高质量高水西街观察一周年,环球影城的变数与常数9月20日,北京环球度假区开业一周年。自园区开门迎客以来,累计超过1380万人次的游客在这里观赏了6。8万场以上的各类表演演出,总时长达1。4万小时。疫情反复干扰,让过去一年的环球朝鲜街头美女很多,朝鲜男人烟酒不离手很多去过朝鲜旅游的人都说,朝鲜的美女很多。为了求证这个问题,我前不久也去了一趟朝鲜。首先我想说的是,朝鲜的美女确实不少。在朝鲜,接待外国游客的妹子,不管是空姐,还是列车上的乘务员,奋进新征程建功新时代非凡十年美丽凤城沐风起舞运城在元代有凤凰城之称,城市中心南风广场的火凤凰雕塑也因此而来,凤城之别称延续至今。中华民族的母亲河黄河一路湍流冲出晋陕大峡谷后突然扭头,把运城深情揽在她美丽的臂弯里,把人类的始祖文旅花开满城芳桂阳县文旅产业发展综述李江青李卓林肖舟颜石敦在福城郴州,有一个历史悠久文化厚重资源丰富美丽富饶的地方,她就是桂阳。邂逅桂阳,一步一景,一幅文旅融合的山水画卷徐徐铺开,文旅产业千帆竞纵贯9省区13日4066公里自驾游重走万里茶道中国段(路书及地图)编辑何天天,摄影冯浪访古巡幽品茶论道。万里茶道纵贯中国南北,一条路看遍茶道沿线文化遗产,也纵览南北不同的风景民情。感知历史会游中国,万里茶道也是一条非常适合穿越中国南北的自驾游路线数十年我养成了一种习惯走到那里了解那里宣传那里我的坚持我的家乡记忆我的坚持邓茂良我到攀枝花已有几年时间了。在攀枝花的日子,我每天独自登山或徒步,足迹几乎遍布整个攀枝花城区和附近大大小小的山顶。我徒步和登山的时间每天大都在4小时以上,有律师王庭伟的门头沟一日春风永拂面清新恒相伴作者郭奕晨张冲所有随风而逝的都属于昨天,所有历经风雨留下的才是面向未来受黄秘书长之邀,不是诗人的律师王庭伟赴马栏村参加红色马栏首届铭记九一八诗歌朗诵会。按照事前的精心计划,心想事成独行泰山之北大梁西大梁上上周五的清晨,风有些诡异,不知东西南北,间歇性胡乱的刮着,没有方向,凉凉的带着寒意,吹得鸡皮疙瘩都起来了,稀疏的落叶夹杂着少量沙尘打着转,天上难得湛蓝清澈,晴空万里,没有一抹云彩成为敦煌讲解员的四十天修炼编者按敦煌莫高窟是很多人终其一生想要朝圣的地方。虽然出于保护需要,莫高窟开放洞窟数量有限,但绝世仅有的奇观总让人流连。而如果你想要读懂它,影像和文字的预习是实地游必需的前奏。作者蒋读史察今腾冲人心目中的坐标读史察今讲讲腾冲故事(十三)大蒿坪腾冲人心目中的坐标首先感谢我的同事马瑞根先生的一路陪伴,并感谢我腾冲回族亲家明景东先生提供的线索。前次故事讲到腾冲出关的古桥与古道。今天还是讲与出