原因在于使用新版本的knif4j版本后,以前的方法,拦截器的配置,配置文件,配置属性发生了巨大的变化,如果你也有这样的困扰,希望这篇可以帮助到你

如何在springboot3.xx版本使用knif4j我以及写过,这里便不在赘述了,我主要写拦截器的配置

这里时传送门http://t.csdnimg.cn/tFDS8

如果我们统一配置了拦截器不去配置的话,我们一般情况下会出现No mapping for GET /doc.html的错误,这种情况出现的原因是项目中含有继承WebMvcConfigurationSupport的类,这会导致 swagger 配置失效。

解决方法:重写WebMvcConfiguration的方法

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("doc.html")
            .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
}

多说一句:我在解决这个问题是,看到网上都是在注册拦截器是排除该方法,类似于以下的书写,这并没有帮助我解决问题,不知道有没有大佬知道是为什么

public class WebMVCConfiguration  extends WebMvcConfigurationSupport {


    @Autowired
    private JwtTokenUserInterceptor jwtTokenUserInterceptor;
    protected void addInterceptors(InterceptorRegistry registry) {
        log.info("开始注册自定义拦截器...");
        registry.addInterceptor(jwtTokenUserInterceptor)
                .addPathPatterns("/user/**")
                .excludePathPatterns("/user/login")
                .excludePathPatterns("/admin/register")
                .excludePathPatterns("/static/**,/swagger-resources,/**webjars/**,/v3/**");



    }
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐