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 応答コードです。それに加えて、開発者が目にするより意味のあるエラー メッセージを含む応答本文やその他のヘッダーを提供することもできます。