0
下の写真では、project
のcampaigns
をリストする私のエンドポイントは意図したデータを返していますが、URLには不要なセグメントがあります。ネストされたコレクションにかなりのGrape APIルートを取得する方法
ネストされたコレクションまたはそのようなエンドポイントが親モデルのID:/api/v1/projects/{id}/campaigns
に付属するようにするには、コードをどのように構造化できますか?次のように
module API
module V1
class Projects < Grape::API
include API::V1::Defaults
resource :projects do
desc "Return all projects"
get "", root: :projects do
Project.all
end
desc "Return a project"
params do
requires :id, type: String, desc: "ID of the project"
end
get ":id", root: "project" do
Project.where(id: permitted_params[:id]).first!
end
resource :campaigns do
desc "Return all campaigns for a project"
get ":id/campaigns", root: "project" do
Project.find(params[:id]).campaigns
end
end
end
end
end
end