Удаление ContextPath в маршрутизаторе WebFlux? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть приложение WebFlux, которое стоит за nginx-ingress.

Для того, чтобы работа перенаправления (для целей Spring Security OAuth) я включил ForwardedHeaderTransformer.

Теперь сгенерированные перенаправленияSpring Security OAuth работает нормально, но проблема возникает, когда я хочу получить доступ к своему API, предоставленному RouterFunction s.

Например, у меня есть конечная точка GET /someresource.Когда запрос сделан ForwardedHeaderTransformer добавляет /api/myservice к contextPath и uri.

Вопрос в том, как выставить мой API без добавления /api/myservice к функции маршрутизатора?

есть какая-либо (чистая) опция для удаления contextPath (если она есть) и обслуживания API следующим образом:

fun router() = router {

    "/someresource".nest {

        GET("/", myHandler::getResource)

        GET("/{id}", myHandler::getResources)

Возможно, существует WebFilter, который может быть запущен непосредственно перед RouterFunction с или, может быть,это можно изменить другим способом?

Я пытался добавить HandlerFilterFunction к своему маршрутизатору.Но это не работает, поскольку нет зарегистрированного сопоставления для /api/myservice.

...