当前位置: 首页 > news >正文

浙江公铁建设工程有限公司网站免费制作详情页的网站

浙江公铁建设工程有限公司网站,免费制作详情页的网站,oneinstack wordpress,富阳做网站方式我们知道,经过网关的业务请求会被路由到后端真实的业务服务上去,假如我们使用的是Spring Cloud Gateway,那么你知道Spring Cloud Gateway是在哪一步去匹配路由的吗? 源码之下无秘密,让我们一起从源码中寻找答案。 入…

我们知道,经过网关的业务请求会被路由到后端真实的业务服务上去,假如我们使用的是Spring Cloud Gateway,那么你知道Spring Cloud Gateway是在哪一步去匹配路由的吗?

源码之下无秘密,让我们一起从源码中寻找答案。

入口

Spring Cloud Gateway 的入口为 DispatcherHandlerhandle 方法,其中主要逻辑有获取Hander 和 执行Handler

获取Handler

获取 Handler 的时候,handlerMappings 中包含有一个 RoutePredicateHandlerMapping 实例,其获取 Handler 的实现最终会调用到 getHandlerInternal 方法。

org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping

getHandlerInternal 方法会调用了 lookupRoute 方法去获取路由。

其中:

  • 第一步是从缓存中获取路由列表,源码解析见:
  • 第二步是调用每个路由的断言去匹配当前请求,匹配到就直接返回,忽略后续所有其他路由。

获取到路由后将路由信息设置到 exchangegatewayRoute 属性上,然后返回 Handler

其中RoutePredicateHandlerMapping 实例是在 GatewayAutoConfiguration 中配置好的。

org.springframework.cloud.gateway.config.GatewayAutoConfiguration

public class GatewayAutoConfiguration {// ...@Beanpublic RouteLocator routeDefinitionRouteLocator(GatewayProperties properties,List<GatewayFilterFactory> gatewayFilters,List<RoutePredicateFactory> predicates,RouteDefinitionLocator routeDefinitionLocator,ConfigurationService configurationService) {return new RouteDefinitionRouteLocator(routeDefinitionLocator, predicates,gatewayFilters, properties, configurationService);}@Bean@Primary@ConditionalOnMissingBean(name = "cachedCompositeRouteLocator")// TODO: property to disable composite?public RouteLocator cachedCompositeRouteLocator(List<RouteLocator> routeLocators) {return new CachingRouteLocator(new CompositeRouteLocator(Flux.fromIterable(routeLocators)));}@Beanpublic RoutePredicateHandlerMapping routePredicateHandlerMapping(FilteringWebHandler webHandler, RouteLocator routeLocator,GlobalCorsProperties globalCorsProperties, Environment environment) {return new RoutePredicateHandlerMapping(webHandler, routeLocator,globalCorsProperties, environment);}// ...
}}

结论

综上,Spring Cloud Gateway 的路由匹配是在获取 Handler 的过程中,在 RoutePredicateHandlerMapping 中实现的,具体实现方法为 lookupRoute。最后将匹配到的路由设置到 exchangegatewayRoute 属性上,供后续获取并使用。

http://www.shuangfujiaoyu.com/news/51871.html

相关文章:

  • 职业学院思想政治网站建设谷歌官方网站注册
  • 企业网站建设哪家正规东莞整站优化
  • 个人网站的备案方式色盲和色弱的区别
  • 成品网页网站免费加客源
  • 英文网站的首页怎么做搜索优化网络推广
  • 做网站会用到的色彩代码单词百度公司怎么样
  • 给一个学校网站做宣传海报百度推广助手app下载
  • wordpress支付插件seo公司运营
  • 苏州做淘宝网站郑州seo外包顾问
  • 教育培训网站建设整站seo怎么做
  • 怎么样才能自己做网站打广告最佳搜索引擎
  • 智能营销型网站怎么联系百度推广
  • 网站建设管理教程视频全国免费信息发布平台
  • 校园网站建设初探查关键词排名工具app
  • 鞍山市残疾人网站开发营销推广的特点
  • 做投标的网站培训心得体会800字
  • 昆明网站搭建网站运营百度seo2022
  • 烟台电商网站开发销售新人怎么找客户
  • 设计签名在线生成免费长沙网站seo收费标准
  • 网页网站开发项目设计外包网络推广公司怎么选
  • 网上商城开发费用慈溪seo
  • 手机网站技术方案怎样制作网页新手自学入门
  • 接了做网站的单子流程营销策略分析包括哪些内容
  • 为什么不能用来名字做网站名百度网盘在线观看资源
  • 抄袭别人网站品牌推广工作内容
  • 东莞百度代做网站联系方式爱站网使用体验
  • 504 wordpress台州seo排名外包
  • 开源企业建站系统哪个好seo搜索优化专员
  • wordpress添加小工具栏北京网站优化体验
  • 有公网ip 如何做一网站济南网站建设哪家便宜