uckelman
(Joel Uckelman)
1
/session.json への POST リクエストで、ペイロードは以下のようになります。
{
"login": "skroob",
"password": "12345",
"authenticity_token": "..."
}
ログインが成功すると、ステータスは 200 になり、返される JSON はユーザーデータになります。ログインが失敗すると、返される JSON は以下のようになります。
{"error": "Incorrect username, email or password"}
しかし、ステータスは 200 のままです。これはバグでしょうか?失敗を示すために、ログイン失敗時のステータスは 400 以上であるべきでしょうか?
「いいね!」 1
maiki
(maiki)
2

おそらく。私は 401 を選択するでしょう。
しかし、これらは HTTP クライアント接続の HTTP ステータス コードでもあります。このニュアンスが、200 を返すような決定につながるのだと思います(「POST は成功しました。ここにフィードバックがあります」)。
自分にはよくわかりません。
「いいね!」 1
uckelman
(Joel Uckelman)
4
ログイン失敗で200を返すのは、ログインが「成功裏に」失敗したという意味だと理解できます。それは「失敗裏に」失敗したのではなく。
「いいね!」 4
sam
(Sam Saffron)
5
これは、ログインしようとしているボットを混乱させる「機能」でもあることを念頭に置いてください。
これを変更することについては賛否両論あります。たぶん…
「いいね!」 6
uckelman
(Joel Uckelman)
6
変更を求めているのではありません。求めていたのは、変更、またはその動作が意図的であることの確認でした。今、それが得られました。ありがとうございます!
「いいね!」 3