首页 > 解决方案 > 在 Spring Cloud Gateway 中清理请求 URI

问题描述

我想在使用 Spring Cloud Gateway 时清理部分 uri。

例如:http://localhost:8080//login

在此示例中,即使在 Spring Gateway 尝试为此请求找到合适的路由之前,我也想用单斜杠删除双斜杠。

使用全局过滤器是正确的方法吗?或者是否有任何其他钩子可以用来拦截请求并修改 uri?

标签: spring-cloud-gateway

解决方案


我创建了一个过滤器类,它实现org.springframework.web.server.WebFilter并将其注册为 Spring bean。

现在这个过滤器甚至在 Spring Gateway 尝试匹配路由之前就被调用了。这样我就能够清理请求 URI。我看着RewritePathGatewayFilterFactory灵感。


推荐阅读