【问题标题】:WebFluxConfigurer broken in Spring webflux for functional routes?WebFluxConfigurer 在 Spring webflux 中因功能路由而损坏?
【发布时间】:2021-11-08 18:10:09
【问题描述】:

目标是配置我的 webflux servlet 容器,以便每当对预定义路径进行 API 调用时,无论调用是对大写/小写路径进行的,都会返回响应。

/api/users 应该给出与 /api/USERS

相同的结果

此功能路由定义以及下面的 WebFluxConfigurer 似乎无法解决它。

@Configuration
class UserRoutes {

    @Bean
    fun userRouterFunction(
        userHandler: userHandler
    ) = coRouter {
        "/users".nest {
            GET("/all", userHandler::getAllUser)

@Configuration
@EnableWebFlux
class WebConfig : WebFluxConfigurer {

    override fun configurePathMatching(configurer: PathMatchConfigurer) {
        configurer.setUseCaseSensitiveMatch(false)
    }
}

这里有什么问题吗?

【问题讨论】:

    标签: java spring spring-boot kotlin webflux


    【解决方案1】:

    @Configuration 类不能是 final。将其访问修饰符更改为open

    @Configuration
    @EnableWebFlux
    open class WebConfig : WebFluxConfigurer {
        override fun configurePathMatching(configurer: PathMatchConfigurer) {
            configurer.setUseCaseSensitiveMatch(false)
        }
    }
    

    这行得通。我刚刚测试过。

    【讨论】:

    • @Configuration 注解将类修改为默认打开。另一方面,我认为问题在于我使用 CoRouterFunctionDsl 的路径的功能定义。我是否假设 WebFluxConfigurer 接口不适用于这些路径?
    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 2020-08-12
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多