Очистка URI запроса в Spring Cloud Gateway

Я хочу очистить часть uri при использовании Spring Cloud Gateway.

Например: http://localhost:8080//login.

В этом примере я хочу удалить двойную косую черту с помощью одинарной косой черты еще до того, как Spring Gateway попытается найти подходящий маршрут для этого запроса.

Использование глобального фильтра - правильный подход? Или есть какой-либо другой крючок, который можно использовать для перехвата запроса и изменения uri?


person User5817351    schedule 12.09.2019    source источник


Ответы (1)


Я создал класс фильтра, реализующий org.springframework.web.server.WebFilter, и зарегистрировал его как компонент Spring.

Теперь этот фильтр вызывается даже до того, как Spring Gateway попытается сопоставить маршрут. Таким образом я смог очистить URI запроса. Я посмотрел на RewritePathGatewayFilterFactory в поисках вдохновения.

person User5817351    schedule 13.09.2019