java guide Spring Cloud Gateway 答疑6
在Spring Cloud Gateway中,如果你想要修改请求的URL,可以使用ModifyRequestUrlGatewayFilterFactory
。以下是一个如何使用这个过滤器的例子:
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("modify_url_route", r -> r.path("/old-path/**")
.filters(f -> f
.modifyRequestUrl(mu -> mu.replacePath("/new-path/${path}")
)
.uri("http://localhost:8080"))
.id("modify_url_route")
)
.build();
}
}
在这个例子中,所有访问/old-path/
下的请求都会被重定向到http://localhost:8080/new-path/
,并保持原有的路径部分。${path}
是一个占位符,它会被匹配到的路径替换,例如,如果有一个请求是/old-path/foo
,那么最终请求的URL会变成http://localhost:8080/new-path/foo
。
评论已关闭