【问题标题】:Change the actual URL called in spring cloud gateway更改spring cloud gateway中调用的实际URL
【发布时间】:2021-09-18 09:54:51
【问题描述】:

我想在调用给定路由时调用以下方法。 如何修改/重写路由的路径?

邮递员/浏览器中的 URL:“http://localhost:8080/compliance/status/{id}”

要调用的实际 URL:https://m.com/v1/myPage/getByBillOfLadingId/{id}

public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
    return builder.routes()
            .route(r -> r.path("/**")
                    .uri("https://m.com/v1/myPage/getByBillOfLadingId/"))
                    .build();
}

【问题讨论】:

    标签: spring-cloud api-gateway spring-cloud-gateway


    【解决方案1】:

    使用RewritePath 过滤器

        @Bean
        public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
            return builder.routes()
                    .route(r -> r.path("/**")
                            .filters(f -> f.rewritePath(".*", "/v1/myPage/getByBillOfLadingId/"))
                            .uri("https://m.com"))
                    .build();
        }
    

    SetPath 过滤器也可能很有用。

    【讨论】:

      猜你喜欢
      • 2021-07-26
      • 2021-01-23
      • 2020-10-12
      • 2022-08-24
      • 2021-10-23
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2020-09-14
      相关资源
      最近更新 更多