2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RailsでCurlをするとパラメーターが最初しか取れない

Posted at

はじめに

RailsでAPIを叩いたときにパラメータの挙動がおかしかったのでまとめます

問題

以下のエンドポイントを作成しました
ここではリミットとキーワードをパラメータから受け取ります

  def index
    limit    = params.fetch(:limit, 50)
    keyword = param.fetch(:keyword)
    # 中身を表示する
    p params
    return render json: { message: "hello" }, status: :ok
  end

しかしCurlを叩くとparamsにはkeywordしかありませんでした。

$ curl localhost:3000?keyword=hoge&limit=1
{"keyword"=>"test", "controller"=>"/", "action"=>"index"}

curlのクエリの順序を変えたところ最初のクエリのみを受け取っていました

$ curl localhost:3000?limit=1&keyword=hoge
{"limit"=>1, "controller"=>"/", "action"=>"index"}

解決方法

curlを以下にしたら治りました

$ curl "localhost:3000?keyword=hoge&limit=1"

おわりに

あまりcurlでクエリつけたものを叩いたことなかったので時間がかかりました
ネットに同じ症状の人がいなかった

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?