版本北背景:

SpringBoot:2.6.4

Swagger:2.9.2

pom.xml:

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

No mapping for GET /swagger-ui.html问题:

一开始这个configuration是这样写的:

@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig implements WebMvcConfigurer{
    /*
    swagger会帮助我们生成接口文档
    1:配置生成的文档信息
    2:配置生成规则
     */
    @Bean
    public Docket getDocket(){
        ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
        //指定封面信息
        apiInfoBuilder.title("《xxxx》后端接口说明")
                .description("此文档详细说明了xxxx后端接口规范。。。")
                .version("v 2.0.1")
                .contact( new Contact("小郭同学","www.xiaoguotongxue.com","12345678@qq.com"))
                .build();

        ApiInfo apiInfo = apiInfoBuilder.build();

        //指定生成策略
        Docket docket = new Docket(DocumentationType.SWAGGER_2)//指定文档路径
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.haoxing.controller"))
                .paths(PathSelectors.any())
                .build();

        return docket;
    }
}

运行后访问http://localhost:8080/swagger-ui.html#/

控制台信息:No mapping for GET /swagger-ui.html

解决方法:

再配置类下方加入

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

最终配置类为

@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig implements WebMvcConfigurer{
    /*
    swagger会帮助我们生成接口文档
    1:配置生成的文档信息
    2:配置生成规则
     */
    @Bean
    public Docket getDocket(){
        ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
        //指定封面信息
        apiInfoBuilder.title("《浩兴商城》后端接口说明")
                .description("此文档详细说明了浩兴商城后端接口规范。。。")
                .version("v 2.0.1")
                .contact( new Contact("小郭同学","www.xiaoguotongxue.com","740151486@qq.com"))
                .build();

        ApiInfo apiInfo = apiInfoBuilder.build();

        //指定生成策略
        Docket docket = new Docket(DocumentationType.SWAGGER_2)//指定文档路径
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.haoxing.controller"))
                .paths(PathSelectors.any())
                .build();

        return docket;
    }


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

}

再次访问localhost:8080/swagger-ui.html

成功显示

 

参考这位大佬:素写星辰

PS:处女作,解决一下自己遇到的问题,可能不太全面,有问题希望指正。

如果真的帮到你了希望可以点个赞嘿嘿嘿。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐