やりたいこと
Reactからaxiosでurlをゲットする
Grapeでそれを受け取り、DBに問い合わせる
やったこと
Ruby
1module V1 2 class User < Grape::API 3 resources :users do 4 desc 'return all users' 5 get '/' do 6 @users = ::User.all 7 present @users, with: V1::Entities::UserEntity 8 end 9 end 10 desc 'returns a user' 11 params do 12 requires :id, type: Integer 13 end 14 get ':id' do #ここが疑問点! 15 @user = ::User.find(params[:id]) 16 present @user, with: V1::Entities::UserEntity 17 end 18 end 19end
Grapeについて調べていると、(ここが疑問点のところを)get ':id'にして、http://localhost:3000/api/v1/users/4
のようなurlでデータを取得してるがurlを打ってみるとエラー
No route matches [GET] "/api/v1/users/4"
ただ、http://localhost:3000/api/v1/users/だとUser.allがちゃんと帰ってくる。idが4も含まれている。
質問内容
paramsをどのように渡しているのかがわかっていません。
get ':id'でhttp://localhost:3000/api/v1/users/の後の部分をparams[:id]に渡しているのかなと考えています。
実際はどうなっていて、どのようにすればurlの一部分が読み取れるか教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 13:12