kcg*_*544 6 ruby routes grape-api
我在理解Grape API方面遇到了很多麻烦,特别route_param是它如何与它一起工作params.
考虑以下代码:
desc "Return a status."
params do
requires :id, type: Integer, desc: "Status id."
end
route_param :id do
get do
Status.find(param[:id])
end
end
Run Code Online (Sandbox Code Playgroud)
这个街区产生什么路线?我知道这是一个get请求,但为什么它被包裹在route_param块中?为什么不能params阻止?
你的街区产生这条路线:
http://yourdomain.com/<resource>/<id>
Run Code Online (Sandbox Code Playgroud)
请注意,您的代码和下面的代码执行相同的操作并生成相同的路径:
desc "Return a status."
params do
requires :id, type: Integer, desc: "Status id."
end
get ':id' do
Status.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
您可以用来route_param对接收相同参数的方法进行分组,例如:
resource :categories do
route_param :id do
get do # produces the route GET /categories/:id
end
put do # produces the route PUT /categories/:id
end
end
end
Run Code Online (Sandbox Code Playgroud)