Как проверить, Netflix Zuul перенаправляет запрос на соответствующий сервис - PullRequest
0 голосов
/ 07 мая 2018

Не могли бы вы помочь мне с фрагментом кода, который поможет определить, перенаправляет ли netflix zuul запрос на соответствующий сервис.

Я использую пружинный ботинок и zuul 1.x.

.

RequestContext.getCurrentContext () GetRequest () getRequestURI () ToString ()..; дает мне URL-адрес, который инициируется клиентом браузера, однако я не могу понять, как убедиться, что zuul перенаправляет этот запрос внутренне на надлежащую службу. Что поможет в тестировании без запуска реальной службы.

Спасибо, Шекхар

1 Ответ

0 голосов
/ 08 мая 2018

попробуйте взглянуть на исходный код фильтра предварительной декорации, в основном то, что он делает, определяет, куда и как маршрутизировать, на основе предоставленного. Также устанавливает различные заголовки, относящиеся к прокси для нисходящих запросов

context = RequestContext.getCurrentContext();    
request = context.getRequest();

вызовите метод getRouteHost для объекта контекста, который предоставит вам всю информацию, связанную с маршрутом, такую ​​как протокол, хост, порт и т. Д.

RequestContext.getCurrentContext().getRouteHost();

чтобы получить вызов URI getRequestURI для объекта запроса

 request.getRequestURI()

ПРИМЕЧАНИЕ. Возможно, проблема в том, что у вас был порядок фильтра, поскольку preDecorationFilter имеет порядок 5

@Override
    public int filterOrder() {
        return PRE_DECORATION_FILTER_ORDER;
    }

что на самом деле равно 5 (насколько я помню), убедитесь, что ваш порядок фильтров больше 5, я попытался с порядком фильтров 7 и все работает как положено, поместите ваш интеллектуальный код в метод run ()

...