2

私は残りの API の作成に取り組んでおり、一致しない get から通常何が返されるかについて質問があります。たとえば、私のリソースが「users」で、API 呼び出しを行う場合

http メソッド: GET URL: api.mysite.com/users/123

「123」が存在する場合、応答本文にユーザーの詳細を含む http コード 200 を返します。私の質問は; ID が 123 のユーザーがいない場合は、どの http コードを返す必要がありますか?また、応答本文に何を入力する必要がありますか?

コード 200 と空の本文を返すだけでよいでしょうか?

4

2 に答える 2

2

要求されたリソース (ユーザー) が存在しないため、404を使用します。

10.4.5 404が見つかりません

サーバーは Request-URI に一致するものを見つけられませんでした。状態が一時的なものか永続的なものかは示されていません。410 (Gone) ステータス コードは、古いリソースが永続的に利用できず、転送アドレスがないことを内部で構成可能なメカニズムを通じてサーバーが認識している場合に使用する必要があります。このステータス コードは、サーバーが要求が拒否された理由を正確に明らかにしたくない場合、または他の応答が適用できない場合に一般的に使用されます。RFC2616

于 2014-01-18T22:38:06.287 に答える
1

API として、必要なものを返すことができますが、HTTP 応答の標準について話して404 (NOT FOUND)いる場合は、その場合に返すことをお勧めします。アクセスしようとしているリソースがその場所で利用できないためです。

404- Not Foundは、サーバーが Request-URI に一致するものを見つけられなかったことを意味します。

ステータス コード 404 を使用すると、応答本文またはその他の意味のあるヘッダーに適切なエラー メッセージを提供することもできます。クライアントが理解できるように。

于 2014-01-18T21:31:11.927 に答える