Spring Cloud Gateway перенаправляет запрос в другой сервис - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть 3 службы, зарегистрированные в Consul

http://acme.com/mobile/auth -> разрешение на mobile обслуживание

http://acme.com/mobile/users/profile -> разрешение на users служба с путем http://acme.com/users/profile

http://acme.com/mobile/accts/me -> разрешить accts служба с путем http://acme.com/accts/me

Как я могу настроить Forward или реализовать GatewayFilter для изменения URL-адреса и службы в соответствии с вышеуказанными правилами?

  routes:
  - id: mobile
    uri: lb://mobile
    predicates:
    - Path= /mobile/**
  - id: users
    uri: lb://users
    predicates:
    - Path= /users/**
  - id: accts
    uri: lb://accts
    predicates:
    - Path= /accts/**

В Zuul я могу изменить RequestContext во время выполнения. Но я не понимаю, как это сделать в весенних воротах.

    requestContext.put(PROXY_KEY, rule.toServiceId());
    requestContext..put(SERVICE_ID_KEY, rule.toServiceId());
    requestContext..put(REQUEST_URI_KEY, rule.toUriForward());

Я использую Spring-boot 2.2.6.RELEASE и Spring-cloud Hoxton.SR4

...