
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
GETとPOST(GET以外)で同じコード、でも挙動が違う - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
GETとPOST(GET以外)で同じコード、でも挙動が違う - Qiita
ちゃんと調査しないと気付かなかったのでメモがてら、誰かが同じ問題に直面したときの助けになれば。 概... ちゃんと調査しないと気付かなかったのでメモがてら、誰かが同じ問題に直面したときの助けになれば。 概要 ある日、GETとPOSTで挙動が違うという話が。 コードを見てみたら、コントローラーの同じアクションにGETとPOSTがルーティングされていました。 どう見ても同じ処理。そこに差異は無いので挙動ベースでデバッグしてみることに。 テストコードでは上手く動いていました。でも直接APIを叩いてみると、たしかに違う挙動。 最終的に気付いたのが、問題のあるリクエストではCSRFトークンが渡ってきていないことでした。 アクション内ではsessionが使われており、CSRFトークンが渡されていないことでリクエストは空のsessionに対して処理されていました。これは元々のsessionとは別のものとして扱われ、その結果挙動が変わってしまっていました。 詳細 例としてこのようなコントローラがあるとします。