【问题标题】:Grape swagger documentation not loading葡萄招摇文档未加载
【发布时间】:2016-02-23 21:48:21
【问题描述】:

下面是我使用Grape构建API的配置。

但我无法使用 Swagger 构建文档

宝石:

gem 'grape'
grape-0.13.0
gem 'grape-swagger-rails'
grape-swagger-rails-0.1.0
gem 'rack-cors', :require => 'rack/cors'
rack-cors-0.4.0

config/application.rb

require 'rack/cors'
config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb') 
config.autoload_paths += Dir[Rails.root.join('app', 'api', '**', '*.rb')]

config/initializers/swagger.rb

GrapeSwaggerRails.options.url      = '/swagger_doc.json'
GrapeSwaggerRails.options.app_url  = "http://api.lvh.me:3000"

config/routes.rb

  constraints(subdomain: 'api') do
    mount API::Base => '/'
  end
  mount GrapeSwaggerRails::Engine, at: "/apidocs"

app/api/api/base.rb

require 'grape-swagger'
module API
  class Base < Grape::API
    default_format :json
    mount API::V1::Base

    add_swagger_documentation(
      api_version: "v1",
      hide_documentation_path: true,
      mount_path: "/",
      hide_format: true
    )
  end
end

问题:

当我点击http://lvh.me:3000/apidocs。我在绿色导航栏下方出现错误。

无法从 http://api.lvh.me:3000/swagger_doc.json 读取 swagger JSON

当我点击http://api.lvh.me:3000/swagger_doc.json。得到以下响应。

{"error":"Not Found"}

我无法弄清楚做错了什么。在使用葡萄框架渲染 Swagger 文档方面需要帮助。

【问题讨论】:

    标签: ruby-on-rails json swagger swagger-ui grape-api


    【解决方案1】:

    config/initializers/swagger.rb 中,您将架构的URL 设置为/swagger_doc.json,并在add_swagger_documentation 方法中将mount_path 设置为您传递'/'。不应该是/swagger_doc吗?

    【讨论】:

    • 从初始化程序和mouth_path 中删除swagger_doc 后,我编写的所有api 都弹出了。但它没有加载任何关于 api 的信息。我看到一些调用 api 的响应是授权的,因为它应该有 Authorized 标头和它没有的 api 密钥。我在这里做错了什么。
    • 我从初始化程序中删除了 mount_path 和 GrapeSwaggerRails.options.url 并且它起作用了。
    • 如何更改基本网址?从http://api.lvh.me:3000/swagger_dochttp://api.lvh.me:3000/v1
    • 在 add_swagger_documentation 中放回 mount_path 和在 swagger.rb 中放回 options 但这次使用 same 路径,因为如果它们不存在,则默认为“swagger_doc”。之后在“v1”上安装 GrapeSwaggerRails::Engine。
    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2020-12-23
    • 2014-12-06
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多