原因在于使用新版本的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/**"); }