質問: WebAPI作成中、受け取ったパラメータのバリデーションチェックエラー(必須チェック、桁数チェックなど)でレスポンスを返却する際、HTTPステータスとして何を返すのが適切かで議論となりました。 1200 OKを返す 2400 Bad Requestを返す 意見としては、 ・エラーだからOKを返すのも気持ち悪いよね ・400系は404 Not Foundなどと同じ粒度のエラーで使うべきだよね などいろいろ出たのですが、これだという結論が出ませんでした。 WebAPI設計に明るい方のご意見を伺いたいです。 よろしくお願い致します。
回答: XHR等で結果を取得する場合、ステータスコード200は正常に取得できた(success)と判断して処理をする記述をされる方が多いように感じますので400系を返すのがよいのではないかと考えます。 teratail APIは容赦なく400 Bad Requestになりますね。 他の実装でも、パラメータ不足等はBad Requestになることが多いかと思います。 エンドポイントが異なる場合等で404が返ることもあります。