2015-05-27 59 views
0

我正在嘗試使用葡萄招搖的創意爲我的葡萄API創建自動生成的文檔。使用葡萄招搖的API文檔問題

使用'grape'gem我創建了幾個API。

實施例:

http://localhost:9292/api/v1/charges

此API工作正常。

以下文檔'grape-sagger',我無法正確生成API文檔。

我的步驟:

1)I在Gemfile中

gem 'grape-swagger' 

2的下方加)我還通過在config.ru加入下面使用的機架CORS啓用CORS

require 'rack/cors' 
use Rack::Cors do 
    allow do 
    origins '*' 
    resource '*', headers: :any, methods: [ :get, :post, :put, :delete, :options ] 
    end 
end 

還在gemfile中添加如下。

寶石 '機架CORS',:需要=> '機架/ CORS'

3)此外,我下面加在端部在我的API類

add_swagger_documentation

但是當我運行http://localhost:9292/api/v1/swagger_doc時,我沒有得到正確的路徑。 我需要API路徑,如http://localhost:9292/api/v1/charges,但它返回爲http://localhost:9292/api/v1/swagger_doc/charges

是否需要設置其他配置?

回答

1

在API類的末尾添加下面params用於在隱藏文件路徑:

add_swagger_documentation hide_documentation_path: true, api_version: 'v1' 

如果你想使用這個寶石grape-swagger-rails然後使用此配置按文件:

然後創建一個文件名爲config/intializers/swagger.rb並添加這一行定製:

GrapeSwaggerRails.options.url  = "/api/v1/swagger_doc" 
GrapeSwaggerRails.options.app_url = "#{ENV['APPLICATION_URL']}" 

在這裏你可以設置APPLICATION_URL環境變量,如:localhost:3000

而作爲

mount GrapeSwaggerRails::Engine => '/swagger' 

你的config/routes.rb中文件設定的路線然後你可以從這裏訪問所有的文檔:localhost:3000/swagger

這樣你就可以定製葡萄API你招搖文檔。

+0

謝謝薩欽!如果我添加hide_documentation_path:true,swagger_doc的API路徑將被刪除。但我擔心,我沒有得到本地主機:9292/ap1/v1 /收費,因爲它返回localhost:9292/api/v1/swagger /收費。有什麼出路或者我犯了什麼錯誤? – Kirity