解决swagger报错404的问题

解决swagger报错404的问题

在写swagger的时候,启动类没有报错,当在8080端口访问的时候,报错404未找到

原依赖和类如下

<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>3.0.0</version>
</dependency>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>3.0.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig{
    
    

    @Bean
    public Docket getDocket(){
    
    
//        docket封装接口文档信息

        //封面信息
        ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
        apiInfoBuilder.title("锋迷商城后端接口说明文档")
                .description("此文档详细说明了锋迷商城后端接口规范")
                .version("v 2.0.1")
                .contact(new Contact("zzd","www.liangge.com","[email protected]"));
        ApiInfo apiInfo = apiInfoBuilder.build();

        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.qfedu.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

经过网上查询,得知MVC没有找到swagger-ui包中的swagger-ui.html

接着我写了WebConfig类

@Configuration
public class WebConfig implements WebMvcConfigurer {
    
    

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    
    
        registry.addResourceHandler("/statics/**").addResourceLocations("classpath:/statics/");
        // 解决 SWAGGER 404报错
        registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

可还是报错,真的很头大。

后来又查资料,看文章,总结出可能是swagger版本和springboot版本有些不匹配的问题。之后我就把pom中swagger和swagger-ui的版本从原来的3.0.0改成2.9.2。神奇的是可以运行了!

猜你喜欢

转载自blog.csdn.net/shgzzd/article/details/123793462