REST API 404: URI が間違っているか、リソースが不足していますか? 質問する

REST API 404: URI が間違っているか、リソースが不足していますか? 質問する

REST API を構築していますが、問題が発生しました。

REST API の設計では、要求されたリソースが存在しない場合には 404 が返されるというのが一般的な慣例のようです。

しかし、私にとっては、これは不必要な曖昧さを生みます。HTTP 404 は、従来、不正な URI に関連付けられています。つまり、実際には、「正しい場所にたどり着いたが、その特定のレコードが存在しない、インターネット上にそのような場所がないかのどちらかです。どちらなのかはよくわかりません...」と言っていることになります。

次の URI を考えてみましょう。

http://mywebsite/api/user/13

404 が返された場合、それはユーザー 13 が存在しないからでしょうか? それとも、URL が次のようになるべきだったからでしょうか:

http://mywebsite/restapi/user/13

これまでは、HTTP 200 OKレコードが存在しない場合は、応答コードとともに NULL 結果を返していました。これはシンプルで、必ずしも受け入れられている方法ではないとしても、非常にわかりやすいと思います。しかし、これよりも良い方法はあるのでしょうか?

ベストアンサー1

404 は単なる HTTP 応答コードです。それに加えて、開発者が目にするより意味のあるエラー メッセージを含む応答本文やその他のヘッダーを提供することもできます。

おすすめ記事