1.降低springboot版本

  • 修改为2.5.6
	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<version>2.5.6</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<version>2.5.6</version>
		</dependency>

2.修改Swagger版本为3.0

	<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-boot-starter</artifactId>
			<version>3.0.0</version>
		</dependency>

  • Swagger配置类

/**
 * @author jia
 * swagger会帮助我们生成接口文档
 *     1:配置生成的文档信息
 *     2: 配置生成规则
 */
@Configuration
public class SwaggerConfig  {
    public static final String SWAGGER_SCAN_BASE_PACKAGE = "com.jia.controller";

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        /** 页面标题*/
        return new ApiInfoBuilder()
                //描述
                .title("锋迷商城")
                .description("《锋迷商城》接口")
                .termsOfServiceUrl("")
                .version("v2.1.0")
                .build();
     }

}

启动项目报错
Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException
原因: 这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。
解决:在application.properties里配置:

spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER

在启动项目输入http://localhost:8080/swagger-ui/index.html访问成功
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐