专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

SpringWebFlux使用函数式编程之RouterFun

  环境:Springboot2。4。12
  本篇主要内容:RouterFunction的使用概述
  路由器函数用于将请求路由到相应的HandlerFunction。通常情况下,你不需要自己编写路由器函数,而是使用RouterFunctions类中的方法来创建一个。RouterFunctions。route()(无参数)为创建路由器函数提供了一个流畅的构建器,而RouterFunctions。route(RequestPredicate,HandlerFunction)提供了创建路由器的直接方法。
  通常,建议使用route()构建器,因为它为典型的映射场景提供了方便的快捷方式,而不需要难以发现的静态导入。例如,路由器函数构建器提供了方法GET(String,HandlerFunction)来为GET请求创建映射;和POST(String,HandlerFunction)用于POST。
  除了基于HTTP方法的映射之外,路由构建器还提供了一种在映射到请求时引入附加谓词的方法。对于每个HTTP方法,都有一个以RequestPredicate作为参数的重载变体,尽管可以表示附加的约束。谓词Predicates
  你可以编写自己的RequestPredicate,但RequestPredites类提供了常用的实现,基于请求路径、HTTP方法、内容类型等。以下示例使用请求谓词根据Accept标头创建约束:RouterFunctionServerResponserouteRouterFunctions。route()。GET(helloworld,accept(MediaType。TEXTPLAIN),requestServerResponse。ok()。bodyValue(HelloWorld))。build();
  你可以使用以下命令将多个请求谓词组合在一起:RequestPredicate。and(RequestPredicate)两者必须匹配RequestPredicate。or(RequestPredicate)两者都可以匹配
  RequestPredicates中的许多谓词都是组合的。例如,RequestPredicates。GET(String)由RequestPredicates。method(HttpMethod)和RequestPredicates。path(String)组合而成。上面显示的示例还使用了两个请求谓词,因为构建器使用RequestPredicates。GET内部,并用accept谓词组合它。路由Routes
  路由器函数按顺序计算:如果第一个路由不匹配,则计算第二个路由,依此类推。因此,在一般路由之前声明更具体的路由是有意义的。这在将路由器函数注册为Springbean时也很重要,稍后将对此进行描述。注意,此行为不同于基于注释的编程模型,后者自动选择最特定的控制器方法。
  当使用路由器函数构建器时,所有定义的路由被组合到一个RouterFunction中,该RouterFunction从build()返回。还有其他方法可以将多个路由器功能组合在一起:add(RouterFunction)ontheRouterFunctions。route()builderRouterFunction。and(RouterFunction)RouterFunction。andRoute(RequestPredicate,HandlerFunction)shortcutforRouterFunction。and()withnestedRouterFunctions。route()。
  下面的例子展示了四条路由的组合:importstaticorg。springframework。http。MediaType。APPLICATIONJSON;importstaticorg。springframework。web。reactive。function。server。RequestPredicates。;PersonRepositoryrepository。。。PersonHandlerhandlernewPersonHandler(repository);RouterFunctionServerResponseotherRoute。。。RouterFunctionServerResponserouteroute()。GET(person{id},accept(APPLICATIONJSON),handler::getPerson)1。GET(person,accept(APPLICATIONJSON),handler::listPeople)2。POST(person,handler::createPerson)3。add(otherRoute)4。build();带有匹配JSON的Accept头的GETperson{id}被路由到PersonHandler。getPerson带有与JSON匹配的Accept头的GETperson被路由到PersonHandler。listPeople没有附加谓词的POSTperson被映射到PersonHandler。createPersonotherRoute是一个在别处创建的路由器函数,并添加到构建的路由中。嵌套路由NestedRoutes
  一组路由器函数通常具有一个共享谓词,例如共享路径。在上面的示例中,共享谓词将是一个与person匹配的路径谓词,由三条路由使用。在使用注释时,可以通过使用映射到person的类型级RequestMapping注释来消除这种重复。在WebFlux。Fn,路径谓词可以通过路由器函数构建器上的路径方法共享。例如,上面例子的最后几行可以通过使用嵌套路由通过以下方式进行改进:RouterFunctionServerResponserouteroute()。path(person,builderbuilder1。GET({id},accept(APPLICATIONJSON),handler::getPerson)。GET(accept(APPLICATIONJSON),handler::listPeople)。POST(handler::createPerson))。build();注意,path的第二个参数是接受路由器构建器的消费者。
  尽管基于路径的嵌套是最常见的,但是你可以通过在构建器上使用嵌套方法来嵌套任何类型的谓词。上面的内容仍然以共享的Acceptheader谓词的形式包含了一些重复。我们可以通过使用nest方法和accept来进一步改进:RouterFunctionServerResponserouteroute()。path(person,b1b1。nest(accept(APPLICATIONJSON),b2b2。GET({id},handler::getPerson)。GET(handler::listPeople))。POST(handler::createPerson))。build();
  总结:路由函数中RouteFunction的使用嵌套路由的使用
  SpringWebFlux使用函数式编程之HandlerFunction(1)
  SpringWebFlux请求处理流程
  一文带你彻底理解SpringWebFlux的工作原理
  SpringBootWebFlux整合SpringSecurity进行权限认证
  SpringBootWebFlux整合MongoDB实现CRUD及分页功能
  SpringWebFlux入门实例并整合数据库实现基本的增删改查
  SpringBootWebFlux整合R2DBC实现数据库反应式编程

极限制裁失去5G后,华为手机又取得了哪些突破华为将要在9月6日举行秋季新品发布会,主角正是姗姗来迟的华为Mate50。Mate系列可以说是华为手机业务和中国高端手机的开创者,从搭载自研芯片的Mate1,初露头角的Mate2,苹果官网下架iPhone13Pro降价促销iPhone13张兴旺中国证券报中证网中证网讯(记者张兴旺)9月8日,苹果发布iPhone14系列手机。9月8日,中国证券报记者获悉,苹果下调了iPhone13售价,iPhone13降价促销。此外菜鸟4万月薪急招家具送装师!为何比快递员薪水高几倍近日,菜鸟联合天猫发布了一份招聘启事,称菜鸟家装物流部面向全国急招一批自营家具送装师傅,平均月收入在20000到40000元。据记者了解,一般快递员的月薪在万元以内,也有部分在旺季医保新政实施后,社保卡使用变化详解9月1日起北京医保开始实行新政,今天去了趟医院,发现有很多参保人还是没弄明白医保新政后,社保卡使用的一些变化,给就医带来了诸多不变,为方便大家使用社保卡,现将今天碰到的几个问题汇总因拿不到免费序号就写出报复性负评,Valve决定封锁鉴赏家账号Steam平台除了玩家评论之外,还有一个名为鉴赏家的区块,这是该平台用以建立社群推荐的功能,Steam鉴赏家往往能够在游戏上市前先撰写评论,然而,这项功能已渐渐成为诈骗的漏洞。BrS赛LPL最需要警惕哪些队伍?姿态只有GEN,T1差点意思伴随着2022LPL夏季赛总决赛即将到来,目前S12全球总决赛的参赛队伍其实已经陆陆续续出现。除了LPL赛区的TES与JDG之外,LCK赛区目前是GENT1LEC赛区则是G2MADhope将成为lpl最强ad?jackeylove这样说随着lpl的推进,lpl赛程也即将接近尾声,明天9月1号JDGvsTES决出冠军队伍,胜者直接将成为一号种子晋级世界赛,败者因为积分优势成为二号种子,而每次决赛前,都会有垃圾话环节高中物理选择性必修一麦克斯韦电磁场理论与电磁场电磁波高中物理选择性必修一麦克斯韦电磁场理论与电磁场电磁波1。麦克斯韦电磁场理论变化的磁场产生电场,变化的电场产生磁场2电磁场变化的电场和变化的磁场总是相互联系的,形成一个不可分割的统一还记得那个圈吗索爱T707还记得翻盖那里带着一个圈的翻盖手机吗?可能我这样问,各位肯定有点无厘头的感觉,你这家伙究竟想说啥?我就是想说那个圈啊,发光的圈啊,还是翻盖啊,颜色也很艳,曾经博得不少女士们欢迎的索不热了!小米13系列11月发布首发骁龙8Gen2根据爆料人士的最新消息称,小米13系列在11月就将正式发布,该系列手机还是骁龙8Gen2处理器的首发机型。高通方面此前已经确认,今年的骁龙技术峰会在11月15日举行,骁龙8Gen2罗永浩评iPhone14Pro灵动岛给屎调上颜色今天凌晨的iPhone14系列发布之后,大家都对iPhone上的灵动岛给出了一致好评,挖孔屏已经好几年了,别的安卓厂商都在想办法去掉挖孔,而苹果却逆向行之,把挖孔做出了UI交互。可
喝酸奶患癌风险会下降19,有科学依据吗?权威研究结果公布酸奶,是一种非常受欢迎的奶制品,尤其是对于年轻人不太喜欢,纯牛奶大多都会选择酸奶。购买牛奶的时候,我们会发现酸奶的价格其实比纯牛奶略贵一些。酸奶所含有的营养物质非常丰富,能够帮助强部分儿童智能手表硬件软件均存在质量漏洞现在,儿童智能手表逐渐成为孩子们的必备品之一,方便家长和在校的孩子联络等。然而,根据江苏省消保委最新的消费调查显示,很多消费者对儿童智能手表质量表示不满,吐槽这类产品存在定位不准信大范围雨雪形势高度确定,32省都要下!权威预报4省暴雪2省暴雨11月9日上午,从风云四号高清可见光卫星云图上看,之前被持续阴雨笼罩的广东多地今天终于拨云见日,阴云明显减少,回暖进程正全面加速。但与此同时,长江以北地区的阴云正明显增多,西北地区消保委调查报告显示儿童智能手表存四大问题来源中国消费者报图一为什么选购儿童智能手表(多选)图二儿童智能手表对孩子有什么影响(多选)图三选购儿童智能手表时考虑的要素(多选)(数据来源江苏省消保委)伴随着可穿戴智能设备的兴起妇产科普冬季养生最怕这几件事,看你中了几个?忌冬季养生最怕这几件事忌暴饮暴食正值岁末年初,此节气期间多有聚会,切记不要暴饮暴食。因为此时,阳气最弱,无法帮助身体运化过多的食物。忌寒凉冬季时节人体的阳气弱,身体的抵抗力也较差,7张图告诉你什么是自卑,如何应对孩子自卑关注我,并发私信社区,可加入我的育儿社区,6000家长已加入。当孩子问你妈妈,什么是自信?的时候,你会告诉她你的孩子自信吗?这11张图告诉孩子什么是自信我是牛妈彭小蹦,两个孩子的妈每个孩子的成长中,都该得到3个礼物所有一鸣惊人的奇迹背后,都是父母的奋力托举。身为最平凡最普通的父母,若想养出最懂事最上进的孩子,有这三样东西必不可少。作者可乐妈前段时间,我在后台看到了这样一则留言都说寒门再难出贵儿子像妈女儿随爸,孩子有4个特征最容易遗传,你家娃中招没常听人说儿子像妈,女儿随爸,这种说法大家还是比较赞同的,毕竟生活中类似的例子有很多。同事庭哥这两天给孩子开家长会的经历,就验证了这一点。庭哥家女儿今年初二,当爸的还是第一次给孩子开滨图悦读讲给孩子的睡前童话滨州日报滨州网综合讯童话镇听说白雪公主在逃跑小红帽在担心大灰狼听说疯帽喜欢爱丽丝丑小鸭会变成白天鹅听说彼得潘总长不大杰克他有竖琴和魔法听说森林里有糖果屋灰姑娘丢了心爱的玻璃鞋1hr双十一省钱攻略这4种伪健康零食,孩子千万要少吃!健康你我他双十一的前奏虽然热热闹闹地过去了,但毕竟正日子还没来,相信很多人都在等着憋大招。优惠券攒下了一大堆,就等着时间一到,轰轰烈烈一把!没孩子的给自己买,有孩子的给孩子买,大部分家长的购窗边的小豆豆每个孩子都是独立的天使无论哪个孩子,当他出世的时候,都具有优良的品质。在他成长的过程中,会受到很多影响,有来自周围的环境的,也有来自成年人的影响,这些优良的品质可能会受到损害。所以,我们要早早地发现这些
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网