Kotlin 正在剥离WebFlux路由器中的ContextPath?
我有一个WebFlux应用程序,它位于Kotlin 正在剥离WebFlux路由器中的ContextPath?,kotlin,spring-webflux,contextpath,Kotlin,Spring Webflux,Contextpath,我有一个WebFlux应用程序,它位于nginx ingres后面 为了使重定向工作(出于Spring Security OAuth的目的),我启用了ForwardedHeaderTransformer 现在由SpringSecurityOAuth生成的重定向工作正常,但是当我想访问由RouterFunctions公开的API时,问题就出现了 例如,我有一个端点GET/someresource。当发出请求时,ForwardedHeaderTransformer将/api/myservice添加到
nginx ingres
后面
为了使重定向工作(出于Spring Security OAuth的目的),我启用了ForwardedHeaderTransformer
现在由SpringSecurityOAuth生成的重定向工作正常,但是当我想访问由RouterFunction
s公开的API时,问题就出现了
例如,我有一个端点GET/someresource
。当发出请求时,ForwardedHeaderTransformer
将/api/myservice
添加到contextPath
和uri
问题是如何在不向路由器函数添加/api/myservice
的情况下公开我的api
是否有任何(干净的)选项来剥离contextPath
(如果有)并提供如下API:
fun router() = router {
"/someresource".nest {
GET("/", myHandler::getResource)
GET("/{id}", myHandler::getResources)
可能有一个WebFilter
可以在RouterFunction
s之前触发,或者可以用其他方式修改它
我已尝试将
HandlerFilterFunction
添加到我的路由器。但它不起作用,因为注册的/api/myservice
没有映射。我添加了PR,它将涵盖我的用例: