rswag - 添加服务器的最佳实践

rswag - best practice for adding servers

我目前正在尝试将服务器 URL 动态添加到我的 swagger 文档中。我有以下代码:

# spec/swagger_helper.rb
servers: [
{
    url: 'https://{defaultHost}',
    variables: {
      defaultHost: {
        default: Rails.application.credentials.hostname
      }
    }
  }
]

为了确保为每个 heroku 环境生成 swagger,我在我的 Procfile 中添加了一个发布命令:

release: bundle exec rake rswag

我仍然在 API 文档的 heroku 实例中将 defaultHost 设置为 localhost:3000。

我认为 Heroku 不允许您在生产环境中生成 swagger.yml。您必须 运行 在本地 rake rswag,然后将该更改推送到 Heroku。