我想用Swagger和Spring MVC记录REST API,
我发现Spring 3只能使用Swagger V1
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
当我在@RequestBody前面添加@ApiParam时,不要完全显示在数据类型中。
最后我在Spring 4中选择了Swagger V2
我添加了一些依赖关系和更改,如下所示。
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
<artifactId>spring-web</artifactId>
<artifactId>4.1.6.RELEASE</artifactId>
现在可以在我需要时显示任何API信息,
但仍然不知道为什么Spring 3只能使用SwaggerV1
和Spring 3&amp; 4使用Swagger V2时
- 醇>
为什么Spring 3不需要spring-web,但Spring 4需要
如果需要任何信息,请告诉我
我将非常感谢您提供的任何帮助。
答案 0 :(得分:3)
免责声明:SpringFox不是一个产品,而且是一个OSS项目。我是该项目的维护者之一,目前是唯一积极的维护者。
话虽如此,让我回答你的一些问题。
但仍然不知道为什么Spring 3只能使用SwaggerV1
作为一项政策,目前积极维护的版本是最新版本spring之后的一个次要版本。 Swagger v1相当陈旧,所以当swagger 2发布时,我们主动转移到更新版本的spring,支持spring 3的最后一个版本是1.0.2
。这遵循与spring-hateoas
等春季项目相同的指导原则。
和Spring 3&amp;的区别4使用Swagger V2时
不同之处在于,spring {3 springfox
v2.x实际上不是受支持的版本。对于4.1.7.RELEASE
,正式测试的弹簧版本为v2.2.2
。
为什么Spring 3不需要spring-web,但Spring 4需要
这是因为我们spring是provided dependency
的springfox。所以图书馆的消费者可以提供任何版本> 4.1
,图书馆就可以使用。在春季3中并非如此,因为我们发布了带有spring依赖项的springfox库。