城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

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指出,它仍然没有从该游戏中获得任何版税。对于史克威尔艾尼克斯来说,情况看起来并不好。本……我,不过就是掩耳盗铃一样的笑话如果说还有思念的话,那么我的思念就如同这秋叶一样散落一地,如果说还有牵挂的话,那么我的牵挂就如这一轮朗月一样清寒满天!总以为走过的路,因为曲折因为陡峭,必将成为人生的风景……
场均7分场均5分!1。8亿垃圾合同!莱利终究还是自己锁死了热小米12SUltra内部竟藏有一块未激活的自研芯片,或为图形科学家在恐龙体内发现哺乳动物的脚,这是化石界的第一次四川小县城女子晒一家三代晚餐,走红朋友圈,网友羡慕了9个月时间,缅甸这三个著名海滩共接待了50多万名国内外游客36氪研究院2022年中国智能仓储行业洞察报告这三件小事,治好了我的精神内耗乔丹只有这5人组队才能战胜我率领的公牛,字母哥KD没资格入选分手的决心入选奥斯卡最佳国际影片初选短名单神仙打架!马斯克开撕比尔盖茨,盟友却遭Twitter强留男人到了七八十岁别穿老年装!换成卫衣西服和大衣,太时髦美丽可爱的小菊花
微信怎样备份聊天记录新手机恢复微信聊天记录高税负下的建筑业,新年伊始何去何从?最近过的有点幸福。鸟鸣涧读书笔记挫折的记叙作文初中通过微信侵犯企业名誉权是否要承担法律责任腰痛应该如何处理沧桑的男生个性签名成熟有魅力最新版双重人格有哪些表现盘点双重人格的四大疗法冷幽默:木兰诗、程序员和郭靖喜鹊的先知先觉微软Xbox上架新应用将PC画面串流至主机

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁