Spring 3和Spring 4的Swagger版本

时间:2015-11-04 09:54:25

标签: java spring spring-mvc swagger springfox

我想用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信息,

  
      
  1. 但仍然不知道为什么Spring 3只能使用SwaggerV1

  2.   
  3. 和Spring 3&amp; 4使用Swagger V2时

  4.   
  5. 为什么Spring 3不需要spring-web,但Spring 4需要

  6.   

如果需要任何信息,请告诉我

我将非常感谢您提供的任何帮助。

1 个答案:

答案 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库。