Spring Cloud Gateway API - контекстный путь на маршрутах не работает - PullRequest
0 голосов
/ 14 мая 2018

У меня есть настройка context-path в application.yml

server:
  port: 4177
  max-http-header-size: 65536
  tomcat.accesslog:
    enabled: true
  servlet:
    context-path: /gb-integration

И я настроил несколько маршрутов

@Bean
    public RouteLocator routeLocator(RouteLocatorBuilder builder) {
        final String sbl = "http://localhost:4178";

        return builder.routes()
                //gb-sbl-rest
                .route("sbl", r -> r
                        .path("/sbl/**")
                        .filters(f -> f.rewritePath("/sbl/(?<segment>.*)", "/gb-sbl/${segment}"))
                        .uri(sbl)).build();
    }

Я хочу, чтобы шлюз API достигался с помощью localhost: 4177 /gb -gration / sbl / ** Однако он работает только на локальном хосте: 4177 / sbl / **

Кажется, мой путь к контексту игнорируется.Любые идеи, как я могу заставить свой контекстный путь работать на всех моих маршрутах?

1 Ответ

0 голосов
/ 08 июня 2018

Вы, вероятно, уже выяснили это сами, но вот что работает для меня:

После прочтения документации Spring Cloud и пробуя многие вещи самостоятельно, я в итоге выбрал маршрутпо конфигурации маршрута.В вашем случае это будет выглядеть примерно так:

.path("/gb-integration/sbl/**")

и повторять один и тот же шаблон для каждого маршрута.

.path("/gb-integration/abc/**")
...
.path("/gb-integration/def/**")

Это можно увидеть в документации Spring Cloud..

Похоже, что документация пружины находится в процессе разработки.Надеемся, мы найдем лучшее решение.

...