我正在使用grape
构建我的restful API,但当我尝试通过grape-swagger
gem将其与Swagger集成时,它会抛出
undefined method `[]' for nil:NilClass
当我访问http://localhost:3000/swagger_doc
url
这是我的宝石版本:
这是我的目录结构&文件:
api/
api/base.rb
api/graduates.rb
// base.rb
module API
class Base < Grape::API
mount API::Graduates
add_swagger_documentation
end
end
// graduates.rb
module API
class Graduates < Grape::API
resource :graduates do
desc 'wow'
get :all do
Graduate.all
end
end
end
end
在我的路线文件中,我只是安装了葡萄api基地。
Rails.application.routes.draw do
mount API::Base, at: "/"
end
用于调试目的的详细信息:当我从resource
删除graduates.rb
块时,swagger_doc url似乎很好(当然,没有资源)。
答案 0 :(得分:0)
对于遇到此问题的任何人,可以回答:
正如兼容性表所示,grape (0.8.0)
和grape-swagger (0.20.0)
彼此不兼容。当我使用grape (0.16.2)
时,这就解决了。