Как получить путь документа swagger, сгенерированный grape-swagger? - PullRequest
0 голосов
/ 12 октября 2019

Я строю систему с rails6 и grape, grape-swagger, swagger_ui_engine.

Я могу получить доступ к интерфейсу swagger ui, но он говорит "Не могу прочитать swagger JSON из http://localhost:3000/swagger_docs/v1/swagger.yaml"

enter image description here

Я знаю, что могу изменить путь к swagger.yaml на rails / config / initializers / swagger.rb

SwaggerUiEngine.configure do |config|
  config.swagger_url = {
    v1: 'swagger.yaml'
  }
end

Проблема в том, что я не знаю, где grape-swagger генерирует документ swagger. Есть ли способ узнать его? (Перед этим Нужно ли что-нибудь сделать для генерации документа swagger? Я считаю, что grape-swagger генерирует документ автоматически)


Это вывод моих маршрутов, кажется, что Виноградная чушь не генерирует документ чванства?

daisuke@78eaf4dac6cc:/rails$ bin/rake routes|grep 'swagger\|Prefix'
                               Prefix Verb   URI Pattern                                                                              Controller#Action
                    swagger_ui_engine        /                                                                                        SwaggerUiEngine::Engine
oauth2_swagger_docs GET  /swagger_docs/oauth2 swagger_ui_engine/swagger_docs#oauth2
       swagger_docs GET  /swagger_docs        swagger_ui_engine/swagger_docs#index
        swagger_doc GET  /swagger_docs/:id    swagger_ui_engine/swagger_docs#show
 single_swagger_doc GET  /single_swagger_doc  swagger_ui_engine/swagger_docs#single_doc
               root GET  /                    swagger_ui_engine/swagger_docs#index
daisuke@78eaf4dac6cc:/rails$ 

И это мои маршруты.rb

Rails.application.routes.draw do
  root 'sessions#show'
  get '/auth/:provider/callback', to: 'sessions#create'
  get '/signout', to: 'sessions#destroy'

  mount SwaggerUiEngine::Engine, at: '/'
  mount V1::Root => '/api/v1'
end

root.rb для монтирования API

require 'grape'

module V1
  class Root < Grape::API # :nodoc:
    default_format :json

    mount Users::Api => '/users'

    add_swagger_documentation
  end
end
...