0


【JAVA swagger】解决No mapping for GET /swagger-ui.html报错

完整代码在最后

一、报错
1.网页报错404
在这里插入图片描述2.代码报错
No mapping for GET /swagger-ui.html在这里插入图片描述

二、解决办法
1.版本回退
之前用的是swagger3.0.0和springboot3.0.6,始终没找到合适的解决办法,故将版本回退至swagger2.9.2和springboot2.7.11在这里插入图片描述

2.Spring Boot 2.6.X后与Swagger有版本冲突问题,需要在application.properties文件中写入spring.mvc.pathmatch.matching-strategy=ant_path_matcher
在这里插入图片描述
3.重写父类方法
在SwaggerConfig配置类中继承WebMvcConfigurer,然后重写addResourceHandlers方法

publicclassSwaggerConfigimplementsWebMvcConfigurer{//    重写父类方法@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}}

3.以上配置完亲测可用
在这里插入图片描述
小插曲:之前继承的是WebMvcConfigurationSupport,导致浏览器无法显示中文,我也是新手入门没搞懂为什么,换继承WebMvcConfigurer后完美解决。
在这里插入图片描述

三、完整代码

packagecom.example.bsdemo.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;importspringfox.documentation.builders.ApiInfoBuilder;importspringfox.documentation.builders.PathSelectors;importspringfox.documentation.builders.RequestHandlerSelectors;importspringfox.documentation.service.ApiInfo;importspringfox.documentation.spi.DocumentationType;importspringfox.documentation.spring.web.plugins.Docket;importspringfox.documentation.swagger2.annotations.EnableSwagger2;//告诉Spring容器,这个类是一个配置类@Configuration//启用Swagger2功能@EnableSwagger2publicclassSwaggerConfigimplementsWebMvcConfigurer{//    重写父类方法@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}//  配置Swagger2相关的bean@BeanpublicDocketcreateRestApi(){returnnewDocket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com"))//com包下所有API都交给Swagger2管理.paths(PathSelectors.any()).build();}//  此处主要是API文档页面显示信息privateApiInfoapiInfo(){returnnewApiInfoBuilder().title("演示项目API")//标题.description("学习Swagger2的演示项目")//描述.version("1.0")//版本.build();}}
标签: java spring boot

本文转载自: https://blog.csdn.net/weixin_46521720/article/details/130609440
版权归原作者 小猴猴猴猴 所有, 如有侵权,请联系我们删除。

“【JAVA swagger】解决No mapping for GET /swagger-ui.html报错”的评论:

还没有评论