Swagger的No mapping for GET /swagger"/>
SpringBoot整合Swagger的No mapping for GET /swagger
版本北背景:
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:配置生成规则*/@Beanpublic Docket getDocket(){ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();//指定封面信息apiInfoBuilder.title("《xxxx》后端接口说明").description("此文档详细说明了xxxx后端接口规范。。。").version("v 2.0.1").contact( new Contact("小郭同学","www.xiaoguotongxue","12345678@qq")).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:配置生成规则*/@Beanpublic Docket getDocket(){ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();//指定封面信息apiInfoBuilder.title("《浩兴商城》后端接口说明").description("此文档详细说明了浩兴商城后端接口规范。。。").version("v 2.0.1").contact( new Contact("小郭同学","www.xiaoguotongxue","740151486@qq")).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;}@Overridepublic 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:处女作,解决一下自己遇到的问题,可能不太全面,有问题希望指正。
如果真的帮到你了希望可以点个赞嘿嘿嘿。
更多推荐
SpringBoot整合Swagger的No mapping for GET /swagger
发布评论