エラー応答に関してある程度の野心がある場合は、次のリストが包括的なリストになると思います。
400不正な要求
たとえば、パラメータが 0 ~ 9 と 11 の間の int を必要とする場合など、不正な形式のリクエストが送信されました。これを返すことができ、応答本文で指定しますparameter x requires a value between 0 and 9
401無許可
認証の問題にのみ使用されます。署名が間違っている可能性があります。ノンスが以前に使用されていた可能性があります。送信されたタイムスタンプが許容可能な時間枠内にありません。ここでも、応答本文を使用して、これで応答する理由をより正確に指定してください。明確にするために、これは OAuth 関連のエラーにのみ使用してください。
403禁止します
適切に形成され、承認された操作が (現在または今後も) まったく不可能であることを明示的に示すこと。たとえば、リソースが別のユーザーによって編集のためにロックされている場合を考えてみましょう: レスポンス本文を使用して、の行に沿って何かを言いますAnother person is editing this right now, you'll have to wait mmkay?
。
403 Forbidden
リソースに到達しようとすることにも関係している可能性があります。たとえば、ユーザーがリソース /resource/101212/properties.json へのアクセス権を持っているが、/resource/999/properties.json へのアクセス権を持っていない場合Forbidden due to access rights
、応答本文で次のように単純に述べることができます。
404お探しのページが見つかりませんでした
要求されたリソースは存在しません。または、単に URL がサービス内の API に正しくマッピングされていません。レスポンスボディで指定します。
405メソッドは許可されていません
これは、たとえば、API を呼び出すことができずGET
、別のメソッドを使用する必要があることを表します。これが返された場合も、追加の応答ヘッダーを返さなければなりませんAllow: POST, PUT, etc
。