java实现gateway_【Java】gateway – 调用

  • Post author:
  • Post category:java


RoutePredicateHandlerMapping#getHandlerInternal

webflux的入口是DispatcherHandler,他这里会调用HandlerMapping的getHandler方法。AbstractHandlerMapping实现了HandlerMapping接口,他有个抽象方法getHandlerInternal需要子类实现。

RoutePredicateHandlerMapping继承了AbstractHandlerMapping,所以我们的重点就是他的getHandlerInternal方法。这里面就是用来处理是否有对应的Route。

这个方法,其实主要调用lookupRoute方法。

protected Mono> getHandlerInternal(ServerWebExchange exchange) {

// don’t handle requests on management port if set and different than server port

if (this.managementPortType == DIFFERENT && this.managementPort != null

&& exchange.getRequest().getURI().getPort() == this.managementPort) {

return Mono.empty();

}

exchange.getAttributes().put(GATEWAY_HANDLER_MAPPER_ATTR, getSimpleName());

return lookupRoute(exchange)

// .log(“route-predicate-hand



版权声明:本文为weixin_30949673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。