Ruby on rails 使用grape swagger发布API文档
我正在尝试使用grape swagger gem为我的grape API创建自动生成的文档 我使用Ruby on rails 使用grape swagger发布API文档,ruby-on-rails,ruby,swagger,grape,Ruby On Rails,Ruby,Swagger,Grape,我正在尝试使用grape swagger gem为我的grape API创建自动生成的文档 我使用'grape'gem创建了几个api 示例: 这个API运行良好 在'的文档之后,我无法正确生成API文档 我的步骤: 1) 我在gemfile中添加了以下内容 gem 'grape-swagger' 2) 我还使用了rack cors,通过在config.ru中添加以下内容来启用cors require 'rack/cors' use Rack::Cors do allow do
'grape'
gem创建了几个api
示例:
这个API运行良好
在'的文档之后,我无法正确生成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
但是当我跑步时,我没有找到正确的路径。
我需要像这样的API路径,但它返回为
是否需要设置任何其他配置?在api类末尾添加以下参数以隐藏文档路径:
add_swagger_documentation hide_documentation_path: true, api_version: 'v1'
如果要使用此gem,请按照文档使用此配置:
然后创建名为config/initializers/swagger.rb的文件,并添加以下自定义行:
GrapeSwaggerRails.options.url = "/api/v1/swagger_doc"
GrapeSwaggerRails.options.app_url = "#{ENV['APPLICATION_URL']}"
您可以在环境变量中设置应用程序URL,如:localhost:3000
并且您的config/routes.rb文件将路由设置为
mount GrapeSwaggerRails::Engine => '/swagger'
然后您可以从这里访问所有文档:localhost:3000/swagger
通过这种方式,您可以使用grape api自定义您的招摇过市文档。谢谢Sachin!如果我添加hide_documentation_path:true,那么swagger_doc的API路径将被删除。但我担心的是,我没有收到localhost:9292/ap1/v1/charges,因为它将作为localhost:9292/api/v1/swagger/charges返回。有什么出路吗?或者我犯了什么错误?我按照上面描述的所有说明进行了操作,并得到了以下错误:未能解析JSON/YAML响应