安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

SpringWebFlux使用函数式编程之Filtering

1月9日 赤雷榭投稿
  环境:Springboot2。4。12
  本篇主要内容:RouterFunction中使用过滤器URL处理组件
  请先阅读:《SpringWebFlux使用函数式编程之HandlerFunction(1)》《SpringWebFlux使用函数式编程之RouterFunction(2)》概述
  你可以通过在路由函数构建器上使用before、after或filter方法来筛选处理程序函数。通过使用注释,你可以通过使用ControllerAdvice、ServletFilter或两者都可以实现类似的功能。过滤器将应用于构建器构建的所有路由。这意味着在嵌套路由中定义的过滤器不适用于顶级路由。例如,考虑下面的例子:RouterFunctionServerResponserouteroute()。path(person,b1b1。nest(accept(APPLICATIONJSON),b2b2。GET({id},handler::getPerson)。GET(,handler::listPeople)。before(requestServerRequest。from(request)1。header(XRequestHeader,Value)。build()))。POST(person,handler::createPerson))。after((request,response)logResponse(response))2。build();添加自定义请求头的before过滤器只应用于两个GET路由。记录响应的after过滤器应用于所有路由,包括嵌套路由。
  路由器构建器上的filter方法接受HandlerFilterFunction:一个接受ServerRequest和HandlerFunction并返回ServerResponse的函数。处理程序函数参数表示链中的下一个元素。这通常是路由到的处理程序,但如果应用了多个过滤器,它也可以是另一个过滤器。完整示例
  处理程序句柄ComponentpublicclassPersonHandler{publicServerResponsequeryPerson(ServerRequestrequest)throwsException{System。out。println(request。headers()。header(xpack));returnok()。body(newPerson(Integer。valueOf(request。pathVariable(id)),中国));}privateErrorsvalidate(Personperson){ErrorserrorsnewBeanPropertyBindingResult(person,person);validator。validate(person,errors);if(errors。hasErrors()){}}}
  路由配置ConfigurationpublicclassPersonHandlerConfiguration{ResourceprivatePersonHBeanpublicRouterFunctionServerResponsenestPerson2(){returnroute()。path(persons2,b1b1。nest(accept(MediaType。APPLICATIONJSON),b2b2。GET({id},accept(MediaType。APPLICATIONJSON),ph::queryPerson)。before(requestServerRequest。from(request)。header(xpack,123123)。build()))。POST(save,ph::save))。after((request,response){System。out。println(afterexecution。。。response。statusCode());})。filter((request,next){if(request。pathVariable(id)。equals(100)){returnServerResponse。ok()。body(参数错误);}else{returnnext。handle(request);}})。build();}}
  POJOpublicclassPerson{privateINotEmpty(message姓名必须填写)privateS}URL处理组件
  URL组件可以在SpringMVCandSpringWebFlux中都可以使用。
  UriComponentsBuilder帮助从带有变量的URI模板构建URI,如下例所示:UriComponentsuriComponentsUriComponentsBuilder。fromUriString(https:pack。comlovers{lover})1。queryParam(q,{q})2。encode()3。build();4URIuriuriComponents。expand(lover,hcw)。toUri();5使用URI模板的静态工厂方法添加或替换URI组件请求对URI模板和URI变量进行编码建立一个UriComponents展开变量并获得URI
  以上代码运行结果:https:pack。comloverslover?qhcw
  上面的例子可以合并为一个链,并使用buildAndExpand进行缩短,如下面的例子所示:URIuriUriComponentsBuilder。fromUriString(https:pack。comlovers{lover})。queryParam(q,{q})。encode()。buildAndExpand(lover,hcw)。toUri();
  你可以通过直接进入URI(这意味着编码)来进一步缩短它,如下面的例子所示:URIuriUriComponentsBuilder。fromUriString(https:pack。comlovers{lover})。queryParam(q,{q})。build(lover,hcw);
  你可以使用完整的URI模板进一步缩短它,如下例所示:URIuriUriComponentsBuilder。fromUriString(https:pack。comlovers{lover})。build(lover,hcw);
  完毕!!!
  Spring容器这些扩展点你都清楚了吗?
  Spring事务实现原理源码分析
  Spring中的Configuration注解你真的了解吗?
  SpringBoot对SpringMVC都做了哪些事?(一)
  SpringBoot对SpringMVC都做了哪些事?(二)
  SpringBoot对SpringMVC都做了哪些事?(三)
  SpringBoot对SpringMVC都做了哪些事?(四)
投诉 评论

主教练杜锋成功逃过一劫,磕磕绊绊的胜利有四大可喜改变三大短板前段时间杜锋带队到欧洲拉练,由于高度保密让球迷很反感。特别是对中国男篮热身赛中只赢一场比赛却让多名球员受伤,为此球迷不满意而且对主教练杜锋给予了尖锐的批评,人们联想前期的世预赛……临终重生试炼评测国内的独立游戏不比别人差《临终:重生试炼》是一款早在16年就发售的国产密室解谜逃脱游戏,这款游戏最开始是登录的索尼PSV,并在索尼的PSVR上推出了游戏中的一部分内容,在国外,这款游戏也获得了相当不错……郭碧婷3年2胎竟未领证!奚梦瑶被嘲遇豪门扩招,却是最后赢家同样是在争议声中嫁入的豪门,奚梦瑶和郭碧婷,究竟谁更幸运点呢?婚前来说,奚梦瑶是公认的国际名模。在权威模特网站,她的商业排行是前50。哪怕维密惊天一摔,让她被……偏爱直角边框设计的手机?这里肯定有你的心头好自iPhone12以来,直角边框设计又在国内手机市场重新火了起来。国内各大手机厂商不仅紧跟直角边框设计的潮流,还将其做得极具特色。那么今天小编就来给大家介绍三款别出心裁的直角边……北京奥林匹克公园中心区将于4月6日向公众开放关于北京奥林匹克公园中心区延迟开放的公告资料图摄:刘平北晚在线供图致广大游客:2022年北京冬奥会、冬残奥会已圆满闭幕,感谢广大市民、游客对奥园工作提供的支持……季前赛第一场就露馅了!湖人若想争冠,威少板凳坐穿或交易走人其实我是不想写这篇文章的,湖人整个夏天除了贡献了满满的流量之外,一笔像样的交易都没有。我对威少这几场的季前赛评价就是:他只打了第一场季前赛的半场好球,就原形毕露了!……中国空天飞机轨道突升X37B四天前降低,两种飞行器究竟什么用很久没有动静的中国空天飞机,在10月23日到24日间,轨道近地点突然提升了将近250千米,这个飞行器从8月5日发射升空以来已经80多天,而就在4天前,美国的空天飞机X37B却刚……楼兰不远(27)从清雅斋回来,三个人迅速地回到了各自的房间,也顾不得矫情地相互之间多应承那么几句,打个口水仗之类的或者彼此吐个酸水,看来每个人都着实累得不轻,人就是这个样子,快乐的时候那个神经……SpringWebFlux使用函数式编程之Filtering环境:Springboot2。4。12本篇主要内容:RouterFunction中使用过滤器URL处理组件请先阅读:《SpringWebFlux使用函数式编程之Ha……海盗游戏ATLAS新赛季世界重建,海堡战争导火索或被点燃在二战中有这么一座即传奇又奇葩的碉堡,它的奇葩程度绝对能震撼到你,那就是德拉姆堡,一座海上传奇堡垒,战舰设计风格,全封闭混凝土结构,混凝土厚度达11米,堪称堡垒中的战舰。堡垒火……utriders是史克威尔艾尼克斯的西方IP之一,在2021Outriders在2021年的发布年度没有盈利,因为开发商PeopleCanFly指出,它仍然没有从该游戏中获得任何版税。对于史克威尔艾尼克斯来说,情况看起来并不好。本……我,不过就是掩耳盗铃一样的笑话如果说还有思念的话,那么我的思念就如同这秋叶一样散落一地,如果说还有牵挂的话,那么我的牵挂就如这一轮朗月一样清寒满天!总以为走过的路,因为曲折因为陡峭,必将成为人生的风景……
江苏又一低调的千年古镇走红,风景优美不输乌镇,还不要门票老旧笔记本利用(08年产品)河北涿州首套房最低首付比例20,支持二孩家庭购房需求英雄联盟手游水晶玫瑰节将至,抢先拥有手游专属皮肤56岁影帝被骗去试镜,剃了头才发现演太监,硬是把龙套演成经典终于官宣了兄弟们,iPhone14系列全面预测李景亮接到夜魔的比赛很惊喜,想尽快多打几场比赛在那个封闭年代,三毛和她的书像一个出口,告诉我们世界之大深度解析好评数近5万的猫猫模拟器Stray如何演绎艺术发布至今下跌1500元,12GB256GB4400万,IP61995年的春晚有多牛?两岸三地大咖云集,二赵同台争辉10。20币圈下月加息75个基点,加密市场等待复苏观点很独特,句句皆笑言厕所里的马桶,为什么叫马桶?七一文学风在风中悦湄兰护肤导师董世杰老师学生专访牙齿疼痛难忍该怎么办素饺子馅做法大全(香喷喷的10种素馅饺子做法)广西柳州,柳江,江水明澄澈,野泳乐无穷你知道无机盐对人体有多重要吗?矮个子怎么穿显高矮个子女生必备的种搭配攻略全尺寸智慧旗舰红旗即将上市高管亲自站台小学四年级上册求近似数教案斯诺克冠中冠四强产生三席,赵心童有望击落火箭,会师范争一

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利