如何为路由设置默认前缀?
How can I set default prefixes for routes?
我正在尝试配置 Spring-Cloud-Gateway。
基本objective是为其他服务添加路由
/some-api/** -> http://some-api/**
/some-other-api/** -> http://some-other-api.com/**
现在唯一可用的配置是这个。
spring:
cloud:
gateway:
routes:
- id: some-api
uri: https://some-api.com
predicates:
- Path=/some-api/**
filters:
- StripPrefix=1 # REQUIRED?
- id: some-other-api
uri: https://some-other-api.com
predicates:
- Path=/some-other-api/**./g
filters:
- StripPrefix=1 # REQUIRED?
我的问题是 - StripPrefix=1
行是必需的吗?
当我注释掉它们时,路由不起作用。
源服务获取前缀请求,例如。
/some-api/swagger-ui.html -> http://some-api.com/some-api/swagger-ui.html
应该是
/some-api/swagger-ui.html -> http://some-api.com/swagger-ui.html
是 必填。
StripPrefixGatewayFilterFactory
在将请求路径发送到下游之前去除部分请求路径。请检查 StringPrefixGatewayFilterFactory
.
https://cloud.spring.io/spring-cloud-gateway/reference/html/#_stripprefix_gatewayfilter_factory
如果你的请求路径是/some-api/swagger-ui.html
,配置是StripPrefix=1
,StripPrefixGatewayFilterFactory会去掉请求路径的一部分。在这种情况下,剥离的部分是/some-api
。
要使其按您希望的方式工作,您必须删除请求路径的一部分。
我正在尝试配置 Spring-Cloud-Gateway。
基本objective是为其他服务添加路由
/some-api/** -> http://some-api/**
/some-other-api/** -> http://some-other-api.com/**
现在唯一可用的配置是这个。
spring:
cloud:
gateway:
routes:
- id: some-api
uri: https://some-api.com
predicates:
- Path=/some-api/**
filters:
- StripPrefix=1 # REQUIRED?
- id: some-other-api
uri: https://some-other-api.com
predicates:
- Path=/some-other-api/**./g
filters:
- StripPrefix=1 # REQUIRED?
我的问题是 - StripPrefix=1
行是必需的吗?
当我注释掉它们时,路由不起作用。
源服务获取前缀请求,例如。
/some-api/swagger-ui.html -> http://some-api.com/some-api/swagger-ui.html
应该是
/some-api/swagger-ui.html -> http://some-api.com/swagger-ui.html
是 必填。
StripPrefixGatewayFilterFactory
在将请求路径发送到下游之前去除部分请求路径。请检查 StringPrefixGatewayFilterFactory
.
https://cloud.spring.io/spring-cloud-gateway/reference/html/#_stripprefix_gatewayfilter_factory
如果你的请求路径是/some-api/swagger-ui.html
,配置是StripPrefix=1
,StripPrefixGatewayFilterFactory会去掉请求路径的一部分。在这种情况下,剥离的部分是/some-api
。
要使其按您希望的方式工作,您必须删除请求路径的一部分。