34

我正在寻找可以帮助我生成 RESTful API 文档的工具。我的服务器是用 Java 编写的,并使用 Spring MVC 框架。我的服务器中没有 VIEWS。这是一个 100% 的 RESTful 服务,它所做的只是消耗 JSON 并输出 JSON。

我想知道Swagger是否与 Spring 注释兼容?

4

5 回答 5

21

目前没有可用的 Spring MVC swagger 模块(至少来自 Wordnik),但总的来说,在基于 JVM 的 REST 服务上启用 swagger 非常简单。

Swagger 服务器支持分为两部分——核心服务器和与 REST 服务的集成。请参阅Swagger github 存储库。Swagger 核心定义了表示 REST 服务、参数、允许值、HTTP 操作等的文档。服务器集成将此文档连接到 REST 框架的结构。Wordnik 通过 JAX-RS 使用 Jersey 并发布了 swagger-jaxrs 来进行这种集成。还有一个Swagger-Play模块,它将很快发布到 Play 模块存储库。

如果要在另一个 REST 框架(如 Spring MVC)上启用 swagger,请按照以下步骤操作:

1)生成一个API Reader,生成一个com.wordnik.swagger.core.Documentation对象。请参阅JAX-RS版本以及用于play的版本。

2) 创建一个 REST 端点,它将文档对象的 JSON/XML 版本返回给客户端。再次,JAX-RSplay

3) 添加过滤器来拦截请求以强制资源或对象级访问。

所以简而言之,它可以很容易地组合在一起。

于 2012-02-08T15:57:33.027 回答
20

这里有一个 Swagger-SpringMVC 实现正在进行中,这里有示例。

规范 v1.2 已完全实现和支持(即生成模型,完全支持泛型),并且正在积极开发中。

于 2012-05-07T04:04:06.370 回答
5

Spring MVC 的 Swagger 的另一个实现是swagger4spring-web

它类似于 Swagger-SpringMVC,支持所有 Swagger 注解,并为返回类型和参数生成 JSON 模式。它也可以在没有大张旗鼓的注释的情况下工作。

于 2013-02-26T18:40:52.177 回答
3

如果您只是在生成交互式 API 文档(不需要 wiki 样式协作)之后,I/O Docs将是一个更好的解决方案,需要更少的精力来设置、使用和自定义,恕我直言。

它在 nodejs 和 Redis 上运行。您只需要编写 API 的 JSON 模式,它会生成一个 HTML/JS 站点来描述您的 API,并让开发人员可以通过他们的浏览器实时使用它。

我计划在我的服务器上托管我的 API(因为要求任何人安装 2 个其他软件只是为了查看 API 会很疯狂)但是 JSON 模式本身已经具有很好的可读性和紧凑的结构,我认为这足以与其他人协作程序员。这是一个小项目。

您可能想查看一个类似的问题。

于 2012-03-05T08:57:49.720 回答
3

Swagger 2.0是 Swagger 的最新版本。

现在有不同的 Swagger 变体可用于满足不同的需求。

io.swagger是 swagger 库的包,你需要单独的 spring jar 来将它与 Spring 耦合。这是 swagger 的第 2 版。

io.springfox是 Springfox Swagger2,其中 swagger 与 Spring 集成。

com.mangofactory是 swagger 与 Spring Web MVC 框架集成的。

于 2016-06-03T11:58:26.377 回答