【问题标题】:Generating Swagger documentation from existing Java code?从现有的 Java 代码生成 Swagger 文档?
【发布时间】:2016-12-11 22:57:04
【问题描述】:

有没有办法从现有的 Java 代码生成 swagger 文档(YAML 格式)?

我目前正在使用 YAML 文件生成 Java API 代码,但我对是否可以实现反向过程感兴趣。也就是说,如果我可以从现有的 Java 代码生成 YAML 文件?

【问题讨论】:

  • 你能举一些例子来说明你想要达到的目标吗?您是指 JavaDoc 生成、setter/getter 等吗?

标签: java spring spring-boot yaml swagger


【解决方案1】:

从现有代码生成 YAML 文件的过程很简单。

添加如下依赖(我碰巧用过Maven):

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>

这会在您的应用程序中添加一个swagger-ui,可以使用

http://<host>:<port>/swagger-ui.html

点击 API 文档 (/v2/api-docs) 链接,您将获得一个 JSON 文件,该文件可以使用 http://editor.swagger.io 轻松转换为 YAML 文件(编辑 -> 转换为 YAML)

【讨论】:

  • 有没有办法自动化这个过程?比如我想在构建项目的时候生成这个yaml文件。
  • @GermanFaller 是的,我在我的项目中使用这两个,它为我生成了 swagger-ui,但我还无法弄清楚自动生成 yaml 文件的方法。
  • 也许我会写一篇文章来展示如何做到这一点。你看过localhost:8080/<MyApp>/<RestEndpoint>/swagger.yaml 吗?忘记 ,如果你的应用程序在 root 上。
  • 不,不幸的是,它给了我一个 404 错误。我可以通过 http://localhost:9020/swagger-ui.html 访问 Swagger UI,但是当我尝试访问 http://localhost:9020/swagger.yaml 时,我收到 404 错误。
猜你喜欢
  • 2015-11-25
  • 2017-05-28
  • 2019-04-09
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 2020-02-10
相关资源
最近更新 更多