Я хочу получить доступ к значению Dynami c в VirtualService для URI - PullRequest
0 голосов
/ 31 января 2020

Я хочу развернуть две службы с разными URL-адресами.

 - match:
      uri:
        prefix: /pune
    route:
    - destination:
        host: wagholi
        port:
          number: 8080
 - match:
      uri:
        prefix: /pune/{location}
    route:
    - destination:
        host: yerwada
        port:
          number: 8080
 - match:              
      uri:
        prefix: /pune/{local}/here
    route:
    - destination:
        host: hadapsar
        port:
          number: 8080

В этом сценарии, когда я запускаю API, получаю 404 Not Found / pune / yerwada, когда я передаю значение местоположения как yerwada. Также я передаю / pune / hadapsar / здесь и получаю ту же ошибку 404 Not Found / pune / hadapsar / here, когда я передаю hadapsar в месте local. !!!!!

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Мы можем go с регулярным выражением для URI.

 - match:
      uri:
        prefix: /pune
    route:
    - destination:
        host: wagholi
        port:
          number: 8080
 - match:
      uri:
        regex: \/pune/\/(.+)
    route:
    - destination:
        host: yerwada
        port:
          number: 8080
 - match:              
      uri:
        prefix: \/pune\/(.+)\/here
    route:
    - destination:
        host: hadapsar
        port:
          number: 8080
0 голосов
/ 31 января 2020

Передаются ли запросы в заголовке с именем location со значением pune? Если «нет», то удалите это из правил сопоставления - это причина того, что запросы не совпадают только с префиксом uri:

    - headers:
        location:
          exact: pune

На всякий случай, вот ссылка на релевантно сделать c.

...