Spring Boot 项目里面引入了 Swagger启动报这个错
版本2.9.2
i.s.m.p.AbstractSerializableParameter : Illegal DefaultValue null for parameter type integer
是swagger2.9.2引用的swagger-models 和 swagger-annotations 这两个lib的对应版本有问题1.5.20。这个bug并不影响使用,但是影响观感,因为项目一启动就会报这样一个错。
我们可以通过以下两种方式修复,
application.yml文件中
logging:
io:
swagger:
models:
parameters:
AbstractSerializableParameter: error
或者,在pom.xml中排除缺陷版本引入正确版本
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.0</version>
<scope>compile</scope>
</dependency>
Gradle里面的配置
//springfox-swagger dependencies
implementation('io.springfox:springfox-swagger2:2.9.2') {
exclude group: 'io.swagger', module: 'swagger-annotations'
exclude group: 'io.swagger', module: 'swagger-models'
}
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
implementation 'io.swagger:swagger-annotations:1.5.21'
implementation 'io.swagger:swagger-models:1.5.21'
implementation 'io.springfox:springfox-bean-validators:2.9.2'