关于spring boot 与swagger 3.0、mybatis的应用问题

95 阅读1分钟

1、在 spring的application.yml中如果没有添加如下信息: image.png 会出现报错信息。 报错信息如下: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException: 问题原因: SpringBoot更新至2.6.0,引发了这个bug。 swagger 2.0最高支持到 spring boot 2.5.5,高于这个版本,需要考虑采用swaggger 3.0来匹配spring boot >2.5.5版本

2、添加依赖,目前为3.0版本为主流。 io.springfox springfox-boot-starter 3.0.0 3、Docket编写 swagger 3.0的版本可以省略很多东西: 移除springfox-swagger2的依赖冲突 移除@EnableSwagger2注解 Docket可省略,也可自行配置 代码如下(示例):

@Configuration public class SwaggerConfig {

@Value(value = "${swagger.enabled}")
private boolean swaggerEnabled;

@Value(value = "${swagger.title}")
private String swaggerTitle;

@Value(value = "${swagger.description}")
private String swaggerDescription;

@Value(value = "${swagger.version}")
private String swaggerVersion;

@Value(value = "${swagger.package}")
private String swaggerPackage;

@Value(value = "${swagger.contact.name}")
private String swaggerContactName;

@Value(value = "${swagger.contact.url}")
private String swaggerContactUrl;

@Value(value = "${swagger.contact.email}")
private String swaggerContactEmail;

@Bean
public Docket docket() {
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .enable(swaggerEnabled)
            .select()
            .apis(RequestHandlerSelectors.basePackage(swaggerPackage))
            .paths(PathSelectors.any())
            .build();
}

//构建api文档的详细信息函数
private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
            //页面标题
            .title(swaggerTitle)
            //创建人
            .contact(new Contact(swaggerContactName, swaggerContactUrl, swaggerContactEmail))
            //版本号
            .version(swaggerVersion)
            //描述
            .description(swaggerDescription)
            .build();
}

} 4、