问题描述:
扩展DelegatingWebMvcConfiguration导致Swagger PageNotFound
回答:
在Spring Boot项目中,使用Swagger来生成API文档是很常见的做法。但有时候在扩展DelegatingWebMvcConfiguration类时,可能会导致Swagger的页面无法访问,出现PageNotFound错误。
DelegatingWebMvcConfiguration是Spring Boot提供的一个用于配置Web MVC的类,它会自动配置一些Web MVC相关的功能,如静态资源处理、视图解析器等。但是,当我们自定义一个继承自DelegatingWebMvcConfiguration的配置类时,可能会覆盖掉一些默认的配置,导致Swagger的页面无法正常访问。
解决这个问题的方法是在自定义的配置类中添加一些额外的配置,以确保Swagger的页面能够正常访问。具体的步骤如下:
@Configuration
public class CustomWebMvcConfiguration extends WebMvcConfigurationSupport {
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
.resourceChain(false);
}
}
完成以上步骤后,重新启动项目,访问 http://localhost:8080/swagger-ui.html,应该能够正常看到Swagger的页面了。
推荐的腾讯云相关产品:
腾讯云提供了一系列的云计算产品,包括云服务器、云数据库、云存储等。对于部署Spring Boot项目和使用Swagger的场景,推荐使用腾讯云的云服务器(CVM)和对象存储(COS)。
腾讯云云服务器(CVM)是一种弹性、安全、高性能的云服务器产品,可以满足各种规模的应用需求。详情请参考:腾讯云云服务器
腾讯云对象存储(COS)是一种高可靠、低成本的云存储服务,适用于存储和处理大规模非结构化数据。详情请参考:腾讯云对象存储
注意:以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云