1、在 spring的application.yml中如果没有添加如下信息:
会出现报错信息。
报错信息如下:
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、