You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JHipster7项目中如何正确使用Spring的RouterFunction?

JHipster 7 中RouterFunction无法生效问题解决方案

JHipster 7 默认生成的Web项目默认存在依赖和配置冲突,Spring MVC默认会忽略RouterFunction类型Bean的注册,具体可按以下顺序排查解决:

  • 方案1:启用Spring MVC对RouterFunction的兼容支持
    在application.yml配置文件中添加如下配置:
    spring:
      webflux:
        detect-all-handler-mappings: true
    
    该配置会让Spring同时识别MVC的@Controller和WebFlux的RouterFunction映射规则。
  • 方案2:显式注册RouterFunction的处理器映射
    新增配置类手动注入RouterFunctionMapping Bean,设置优先级高于默认MVC映射即可:
    @Configuration
    public class RouterFunctionConfig {
        @Bean
        public RouterFunctionMapping routerFunctionMapping(List<RouterFunction<?>> routerFunctions) {
            RouterFunctionMapping mapping = new RouterFunctionMapping();
            mapping.setRouterFunctions(routerFunctions);
            mapping.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
            return mapping;
        }
    }
    
  • 方案3:排查全局路径前缀配置
    JHipster默认会给所有服务端接口添加/api前缀,若你的RouterFunction定义的路径没有包含此前缀,会被全局前缀拦截器过滤,可选择修改RouterFunction路径匹配规则或者在配置中调整全局前缀:
    jhipster:
      web:
        api:
          prefix: "" # 清空默认前缀,或自行调整为你需要的前缀
    
  • 额外排查点:若项目还有残留的Spring Security配置,POST/PUT/DELETE类型的RouterFunction接口会被默认CSRF校验拦截,可在Security配置类中给对应路径添加CSRF豁免规则即可。

内容的提问来源于stack exchange,提问作者yuvytung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:06:02