记录swagger页面访问404但是/v3/api-docs的元数据能访问的问题

踩坑使用Springdoc-OpenAPI3.0 或者 knife4j-openapi3-spring-boot-starter

项目中带有继承WebMvcConfigurationSupport的配置类,如下:

@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {}

浏览器访问报错404,但是http://localhost:8080/api-docs能访问

在这里插入图片描述

尝试把这个配置删掉,重新启动项目,访问 Swaggger UI,成功访问。这个配置应该是导致没有加载 swagger-ui 资源的问题所在,所以报 404

解决方法:在配置类中添加以下代码,手动进行静态资源资源映射

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/swagger-ui/4.18.2/");
}

其中4.18.2是swagger-ui的版本,在maven管理依赖中查看

在这里插入图片描述

在输入框中填写配置的元数据路径即可

在这里插入图片描述

解决方法二:

继承的WebMvcConfigurationSupport改成实现WebMvcConfigurer接口

@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer{}

个人推荐不用WebMvcConfigurationSupport或者WebMvcConfigurer,如果要用,可能就得多了解源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值