Swagger-resources404:如何解决Swagger页面404错误

发布时间:2023-05-20

一、什么是swagger-resources404错误

在使用Swagger时,有时候会遇到swagger-resources404错误。这个错误的出现通常是因为Swagger的资源文件没有正确加载,或者是资源文件的路径不正确。

二、解决swagger-resources404错误的方法

1、检查Swagger的版本号

Swagger的不同版本可能会导致资源文件加载失败,因此最好检查所使用的Swagger版本是否与项目兼容。

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

2、检查Swagger资源文件的路径

检查Swagger资源文件的路径是否正确,有时候项目的配置文件可能会导致路径出错。

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/swagger-ui.html**")
                .addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

3、检查Swagger配置文件是否正确

检查Swagger配置文件(swagger.properties)是否正确,有时候配置文件中的一些参数可能会导致资源文件加载失败。

swagger.enabled=true
swagger.title=API Documentation
swagger.description=API Documentation
swagger.version=1.0.0
swagger.contact.name=API Support
swagger.contact.email=support@api.com
swagger.license.name=Apache 2.0
swagger.license.url=http://www.apache.org/licenses/LICENSE-2.0.html
swagger.base-path=/**
swagger.host=localhost:8080
swagger.path-mapping=/api/**
swagger.use-default-response-messages=false

4、检查Spring Boot配置文件是否正确

检查Spring Boot配置文件(application.properties)是否正确,有时候配置文件中的一些参数可能会导致资源文件加载失败。

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
# swagger-ui配置
springfox.documentation.swagger-ui.groupNames=abc
springfox.documentation.swagger-ui.enabled=true

三、总结

Swagger-resources404错误的解决方法可以从多个方面入手,包括检查Swagger版本号、Swagger资源文件路径、Swagger配置文件和Spring Boot配置文件。只要找到错误的根源并及时解决,就可以避免这个错误的发生。