Spring Cloud 路径路线谓词工厂
2024-01-04 17:31 更新
Path
路由谓词工厂采用两个参数:Spring PathMatcher
patterns
的列表和matchOptionalTrailingSeparator
的可选标志。
application.yml。
spring: cloud: gateway: routes: - id: host_route uri: https://example.org predicates: - Path=/foo/{segment},/bar/{segment}
如果请求路径为例如/foo/1
或/foo/bar
或/bar/baz
,则此路由将匹配。
该谓词提取URI模板变量(如以上示例中定义的segment
)作为名称和值的映射,并使用在ServerWebExchangeUtils.URI_TEMPLATE_VARIABLES_ATTRIBUTE
中定义的键将其放置在ServerWebExchange.getAttributes()
中。这些值可供GatewayFilter工厂使用。
可以使用实用程序方法来简化对这些变量的访问。
Map<String, String> uriVariables = ServerWebExchangeUtils.getPathPredicateVariables(exchange);
String segment = uriVariables.get("segment");
以上内容是否对您有帮助:
更多建议: