Springcloud之zuul的ZuulController

本文主要分析了Springcloud Greenwich.SR2版本中Zuul的ZuulController,讲解了ZuulHandlerMapping如何将url映射到ZuulController,并注册到Springmvc中,同时介绍了ZuulController如何处理请求并委托给ZuulServlet。通过源码阅读,揭示了Zuul路由信息与Controller之间的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Springcloud的版本是Greenwich.SR2,Springboot版本是2.1.6.release.

    最近使用到Springcloud的zuul,分析了下源码,记录下,如下的List-1,主要是zuulHandlerMapping方法,构造ZuulHandlerMapping时,传入的RouteLocator是CompositeRouteLocator,而this.zuulController()返回的是ZuulController类。

    List-1

@Bean
public ZuulController zuulController() {
    return new ZuulController();
}

@Bean
public ZuulHandlerMapping zuulHandlerMapping(RouteLocator routes) {
    ZuulHandlerMapping mapping = new ZuulHandlerMapping(routes, this.zuulController());
    mapping.setErrorController(this.errorController);
    mapping.setCorsConfigurations(this.getCorsConfigurations());
    return mapping;
}

    如下图1所示,ZuulHandlerMapping继承了AbstractUrlHandlerMapping,如果了解Springmvc,就对这个应该熟悉点了。ZuulHandlerMapping复写了父类的lookupHandler,目的是将url-->control

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值