Виноградная чушь документация не загружается

Ниже приведена конфигурация, которую я использовал для построения API с использованием Grape,

Но я не могу строить документацию, используя 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

конфиг / 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')]

конфиг / Инициализаторы / swagger.rb

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

конфиг / routes.rb

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

приложение / 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, Я получаю ошибку ниже зеленой навигационной панели.

Не могу прочитать чванство в формате JSON по http://api.lvh.me:3000/swagger_doc.json

Когда я ударил http://api.lvh.me:3000/swagger_doc.json, Получение ниже ответа.

{"error":"Not Found"}

Я не могу понять, что я делаю не так. Нужна помощь в рендеринге документации Swagger с помощью Grape Framework.

1 ответ

Решение

В config/initializers/swagger.rb Вы устанавливаете URL своей схемы /swagger_doc.json и к mount_path в методе add_swagger_documentation Вы передаете '/', Не должно быть /swagger_doc?

Другие вопросы по тегам