1. ホーム
  2. web-services

[解決済み】REST API 404。不正な URI、またはリソースの欠落?

2022-04-20 20:36:05

質問

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

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

しかし、私にとっては、これは不必要に曖昧さを増すものです。HTTP 404は、伝統的に不正なURIと関連付けられています。つまり、事実上、私たちは次のように言っているのです。 正しい場所にたどり着いたが、そのレコードは存在しない。 または インターネット上にそんな場所はない! 本当にどっちなんだろう..."。

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

http://mywebsite/api/user/13

404が返ってきた場合、それはユーザー13が存在しないためでしょうか?それとも、私のURL が必要です。 であった。

http://mywebsite/restapi/user/13

これまでは、単にNULLの結果を返すために HTTP 200 OK というレスポンス・コードが表示されます.これはシンプルで、必ずしも受け入れられるやり方ではないにせよ、非常にクリーンな方法だと私は考えています。しかし、これを行うためのより良い方法はあるのでしょうか?

どのように解決するのですか?

404は単なるHTTPレスポンスコードです。 その上で、レスポンスボディや他のヘッダを提供し、開発者が見ることになるより意味のあるエラーメッセージを提供することができます。