【问题标题】:How do you implement and configure ZuulFilter of type route when using spring-cloud-starter-zuul?使用 spring-cloud-starter-zuul 时如何实现和配置 route 类型的 ZuulFilter?
【发布时间】:2017-12-25 15:29:18
【问题描述】:

使用spring-cloud-starter-zuul时如何实现和配置“route”类型的ZuulFilter?这个想法是,我希望某个 ZuulFilter 来处理请求而不是转发到另一个服务,而不是转发到另一个服务。

【问题讨论】:

  • 我猜你已经让应用程序做 zuul 的东西,实现为服务。为什么不在这里实现一个标准的网络过滤器?
  • 您想要一个简单的 zuul 过滤器来将请求转发到另一个 url 吗?
  • @XtremeBiker,我也想到了网络过滤器。但是“路由”类型的 Zuul 过滤器的目的是什么?
  • @Padi,我其实想要相反的。
  • @ely 您是否查看过 spring-cloud zuul 文档以了解是否有某种方法可以使用配置文件对其进行配置?如果没有,那就自己动手吧。

标签: spring spring-boot spring-cloud netflix-zuul


【解决方案1】:

这样做的首选方法是设置一个转发到本地 spring mvc 控制器的路由,而不是尝试让 zuul 过滤器处理它。

zuul:
  routes:
    second:
      path: /second/**
      url: forward:/second

然后在 zuul 应用程序的某个地方是一个控制器

@RestController
public class Second {
    @RequestMapping("/second/{value}") /* etc... */
}

你可以在 zuul 过滤器中做到这一点,但它非常笨拙。这样,您就可以利用 Spring MVC 的易用性。

【讨论】:

  • 我一直在寻找一种将请求转发给本地控制器的机制,我偶然发现了这个答案。不确定这是否回答了所提出的问题,但它解决了我的问题。感谢回答。
猜你喜欢
  • 2023-03-11
  • 2018-08-10
  • 1970-01-01
  • 2021-09-07
  • 2016-06-05
  • 1970-01-01
  • 2017-09-29
  • 2015-10-25
  • 2016-01-27
相关资源
最近更新 更多