【问题标题】:RoR: Swagger does not update api-docsRoR:Swagger 不更新 api-docs
【发布时间】:2014-12-04 09:36:05
【问题描述】:

我在现有的 Rails 应用程序中集成了 swagger-ui_rails。我在我的应用程序中添加了一个新模型“Book”,现在想要更新我的api-docs。我该怎么做?

我正在尝试rake swagger:docs,但这并没有改变任何东西。 app/controller/api/v1/ 目录中也没有 books_controller,其他控制器已经存在。

我是 Rails 和 Swagger 的新手,所以如果我缺少基本内容,请忽略。

【问题讨论】:

  • 你在使用grape-swagger gem吗?您是否已经有了 API 定义?您是否在路由中安装了葡萄 API?
  • 不,我没有使用grape-swagger gem。是的,我已经有了 API 定义。
  • 好的。你是如何记录你的 API 的?什么定义了rake swagger:docs。 swagger-ui_rails gem 只是集成了“读取”API 文档的能力,它不会生成它,如果您使用的是自制控制器,绝对不会。 grape-swagger gem 会自动将葡萄 API 转换为 swagger 文档(这就是我假设你使用它的原因)。
  • 好的,我想这就是线索,自制控制器。我现有的 API 控制器必须是手动编码的,我也必须为我的新模型“书”做同样的事情。我现在可以在我的应用程序中集成grape-swagger gem吗?这会自动为我的所有模型创建 swagger 文档吗?
  • 如果你使用grape作为你的api,那么你可以使用grape-swagger。 Grape 将为您替换您的 API 控制器。我喜欢这种方法,我构建了一个普通的 Rails 应用程序,并使用葡萄来提供 API 部分。无论如何,我的 UI 和 API 控制器都会有所不同。

标签: ruby-on-rails api documentation swagger-ui


【解决方案1】:

既然您提到您为 API 定义控制器,我假设您有一个自制的 API。这没关系,但是您将不得不手动生成 swagger 文档。没关系,但我帮不了你。

但是,如果您将 grape 用于您的 api,则可以使用 grape-swagger gem。 Grape 将为您替换您的 API 控制器。它更像是描述您的 API 的 DSL,其中包括要执行的代码。 grape-swagger gem 将自动解析葡萄定义并将其转换为 swagger 文档。

它也提供了额外的选项,比如在 Markdown 中写描述。 grape-swagger gem 太棒了:)

我喜欢这种方法,我构建了一个普通的 Rails 应用程序,并使用葡萄来提供 API 部分。无论如何,我的 UI 和 API 控制器会有所不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多