Spring Cloud Greenwich将Spring Cloud netflix zuul置于维护模式,因此我正在尝试从zuul迁移到Spring Cloud Gateway。
和Zuul一起我有一条路
zuul:
routes:
masterplan_match:
path: /**/masterplans/**
serviceId: api-masterplan
我所做的基本上是忽略接收路径中主计划之前或之后的所有内容,并重定向到api主计划。例如,/some/path/to/masterplan
和/masterplan
都指向同一个api(原因是masterplan
是一个较大实体的子资源,该实体负责创建新的masterplan
,但是可以将masterplan
视为完整的资源,用于获取详细信息、更新和删除等目的)。
我可以把这个配置映射到Spring云网关吗?从谓词来看,可行的似乎是路径谓词,但看起来所有匹配器都处理单个路径元素(除了通配符TheRespatheElement,但它只能用作最后一个元素-我认为),即:我需要编写以下内容:
spring
cloud:
gateway:
routes:
- id: masterplan_match
uri: lb://api-masterplan # Coming from discovery client
predicates:
- Path=/some/path/to/masterplans/**, /masterplans/**
我错过了什么吗?这两条路能浓缩成一条吗?
Spring Cloud Gateway自版本2.1.0以来支持多种模式
spring
cloud:
gateway:
routes:
- id: masterplan_match
uri: lb://api-masterplan # Coming from discovery client
predicates:
- Path=/some/path/to/masterplans/**, /masterplans/**
另见:
在路径谓词#256中添加对多条路径的支持
主机路由谓词中的多个模式#589
在下面的spring cloud gateway配置中,我试图用匹配路径结束,但它不能匹配路径: spring cloud gateway打印以下日志:
考虑这个使用Spring Boot 2.1.2和Spring Cloud Greenwich.release的基于微服务的应用程序: 每个微服务使用JSESSIONID cookie来标识自己的专用Servlet会话(即没有与Spring session和Redis共享的全局唯一会话)。 外部传入请求由Spring Cloud Gateway路由(以及通过Spring Cloud Netflix使
这些配置允许你对许多与URL映射和路径匹配有关的设置进行定制。关于所有可用的配置选项,请参考PathMatchConfigurer类的API文档。 下面是采用MVC Java编程配置的一段代码: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter {
我已经用Eureka发现服务实现了Spring Cloud Gateway,一切都很好,但我看到了一些我在编写URL时不知道如何处理的事情,如果我没有在URL的末尾放一个/,Gateway会直接使用其实际URL(在Eureka注册)重定向到应用程序。 例如: https://example.com/bar重定向到应用程序URL(http://example.app.url.com:8010/bar
摘要:ZUUL没有为输入路径选择正确的目标url,因为它没有严格匹配输入路径。 以下是我的zuul路线: 对于输入路径:"/v1/顾客/卡片/产品/",它应该选择-http://localhost:8800/v1/customer/card/product但它选择http://localhost:8400/v1/composite.我的期望是路径模式匹配按照指定的顺序发生,并且更严格,但似乎不是这
使用spring-Cloud网关2.0.0. M5,我在配置文件(application.yml)中定义路由。我试图通过调用POST来更新这些路由 /application/gateway/refresh. 修改后的路由或新路由不会被刷新,即使我看到(带有断点)实际上执行了刷新例程。 当在配置文件中定义路由时,刷新应该工作吗?我错过了什么? 用例是在spring配置服务器中定义的路由。