У меня есть приложение 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
.