質問: Web API において、下記の場合はHTTPステータスコードは何を返すのが 適切と考えられますでしょうか。 ### 前提 ・ユーザーA・Bの2人がおり、2人の権限は同等のもの。 ・ユーザーAがAPIのサーバーに あるファイルをアップロード済み。 ・ユーザーBがAPIの処理を呼び出し、アップロードされたファイルの解析・結果のDBへの登録が行われる。 ### 質問 ユーザーBのAPI呼び出しで、アップロードされたファイルの解析時に 不正なファイル形式(内容が不正)とする場合、返すべきHTTPステータスコードは何が適切と思われますでしょうか。 よろしくお願いいたします。
回答: 「不適切なファイルがアップロードされている」ということはつまり**サーバの状態の不整合**なので、意味合い的には`500 Internal Server Error`が適当かなと思います。 ただし、APIレスポンスとして500を返すのは本物のサーバエラーと区別がつかなくなるので、実用的には200を返して、中身で状況を知らせるという方がいいかもしれません。 そもそもの設計として、(何か理由があるのかもしれませんが)「AさんがFTPなどで上げる」→「Bさんが読み込みの指示をする」という2ステップを取るのが冗長な気もします。自分で実装するのなら、「AさんがFTPなどで上げる」→「それをcronで読み取って自動登録」のようなフローで考えます。