0
我正在尋找有關在Grape中聲明API資源路徑的語法的說明。下面的例子聲明瞭資源路徑「/ items」,「/ items /:id」,「/ objects」和「/ objects /:id」。我不明白爲什麼「/ items /:id」的定義返回null?用於在Grape中聲明資源路徑的語法
class API < Grape::API
format :json
default_format :json
rescue_from :all, backtrace: true
resource :items do
desc "Returns an array of all items."
get do
ITEMS.find.to_a
end
desc "Returns an item by its id."
get '/:id' do
# hardcoding the document id returns the correct document
# ITEMS.find_one("item_id" => 2519)
# using the path parameter :id returns null, why???
ITEMS.find_one("item_id" => params[:id])
end
end
resource :objects do
desc "Returns an array of all objects."
get do
OBJECTS.find.to_a
end
##
# using the route_param syntax correctly returns the document
# resource path /objects/:id
##
desc "Returns an object by its id."
params do
requires :id, type: Integer
end
route_param :id do
get do
OBJECTS.find_one("object_id" => params[:id])
end
end
end
end