springboot2.7以上版本配置swagger3.0.0版本浏览器无法打开swagger-ui

1.最实用解决方式:将pom里的swagger依赖降到2.9.0即可 过低无法启动项目
1.2 Springboot2.6以后将SpringMVC 默认路径匹配策略从AntPathMatcher 更改为PathPatternParser
Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher

spring:
   mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
<!-- swagger-annotations -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.0</version>
		</dependency>

2.3.0.0版本swagger2访问地址为:http://localhost:8034/swagger-ui.index.html 3.0.0以下访问地址为:http://localhost:8034/swagger-ui.html#/
3.配置中的.enable(true)设置为true

@Bean
    public Docket docket() {
    
    
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.spring_mybatis.base.controller"))
                .paths(PathSelectors.any())
                //.build().securityContexts(securityContexts())
                //.build().securitySchemes(securitySchemes())
                .build().enable(true); //是否启用
    }
    private ApiInfo apiInfo() {
    
    
        return new ApiInfoBuilder()
                .title("接口大全")
                .description(initContextInfo())
                .version("V1.0")
                .build();
    }
    private String initContextInfo() {
    
    
        return "REST API 设计在细节上有很多自己独特的需要注意的技巧,并且对开发人员在构架设计能力上比传统 API 有着更高的要求。" +
                "<br/> 本文通过翔实的叙述和一系列的范例,从整体结构,到局部细节,分析和解读了为了提高易用性和高效性," +
                "REST API 设计应该注意哪些问题以及如何解决这些问题。";
    }

4.配置webmvcconfig

@Slf4j
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
    
    

    @Autowired
    ComponentDirectoryPathReader pathReader;

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    
    
        String filePath = "C:\\Users\\Administrator\\Desktop";
        log.info("filePath:"+filePath);
        registry.addResourceHandler("/**").
                addResourceLocations("classpath:/static/").addResourceLocations("classpath:META-INF/resources/").
                addResourceLocations("file:"+filePath);
    }

}

5.配置项确定正确

 public Docket docket() {
    
    
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.spring_mybatis.base.controller"))//你配置swagger扫描的controller
                .paths(PathSelectors.any())
                //.build().securityContexts(securityContexts())
                //.build().securitySchemes(securitySchemes())
                .build().enable(true); //是否启用
    }

6.springboot位指定配置文件时,默认使用 application.yml

猜你喜欢

转载自blog.csdn.net/weixin_43795840/article/details/129733184