我正在尝试使用grape-swagger gem为我的Grape API创建自动生成的文档。
使用'grape'
gem我创建了一些API。
示例:
http://localhost:9292/api/v1/charges
此API工作正常。
根据'grape-sagger'的文档,我无法正确生成API文档。
我的步骤:
1)我在gemfile
中添加了以下内容gem 'grape-swagger'
2)我还使用rack-cors通过在config.ru中添加以下来启用CORS
require 'rack/cors'
use Rack::Cors do
allow do
origins '*'
resource '*', headers: :any, methods: [ :get, :post, :put, :delete, :options ]
end
end
下面还在gemfile中添加。
gem 'rack-cors', :require => 'rack/cors'
3)我还在下面的API类
中添加了以下内容add_swagger_documentation
但是当我运行http://localhost:9292/api/v1/swagger_doc时,我没有得到正确的路径。 我需要像http://localhost:9292/api/v1/charges这样的API路径,但它返回http://localhost:9292/api/v1/swagger_doc/charges
我是否需要设置其他任何配置?
答案 0 :(得分:1)
在api类的末尾添加以下params for hide documentation path:
add_swagger_documentation hide_documentation_path: true, api_version: 'v1'
如果您想使用此gem 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
您的config / routes.rb文件将路由设置为
mount GrapeSwaggerRails::Engine => '/swagger'
然后,您可以从此处访问所有文档:localhost:3000/swagger
这样您就可以使用grape api自定义swagger文档。