2

APIを実装しています。APIは、JSONコンテンツタイプを受け入れる/返します。ここで、属性が欠落しているなど、POSTリクエストによって送信されたデータが無効であるか、同じデータに重複が存在するとします。その場合の標準のHTML応答コードは何ですか?

4

5 に答える 5

2

エラーはクライアント側にあるため、4xxステータスコードを使用する必要があります。私は400で行きます-悪い要求

構文が正しくないため、サーバーは要求を理解できませんでした。クライアントは、変更せずに要求を繰り返すべきではありません(SHOULDNOT)。

于 2010-10-30T12:44:10.807 に答える
1

2つの答えがあります:

200 - OKフォームを送信した場合は、オブジェクトが作成されなかった理由を説明するHTMLを返送してください。

APIを使用している場合は、次を使用する必要があります

200 OK

  • リクエストがOKで、適切なデータを返したとき。

201作成済み

  • 呼び出しは成功し、新しいオブジェクトが作成されました。

400不正な要求

  • 無効なリクエストURI
  • 無効なHTTPヘッダー
  • サポートされていない非標準のパラメータを受信する
  • 無効なHTTPメッセージ本文を受信する

401無許可

  • 承認の問題。たとえば、間違ったAPIキーなど。

403禁止します

  • 適切に許可されていますが、許可されていません。

404お探しのページが見つかりませんでした

  • リソースが存在しません(例:読み取りまたは更新)

405メソッドは許可されていません

  • 特定のRESTメソッドが許可されていない状況で使用します。たとえば、単一のリソースに対するPOST、またはリソースのコレクション全体に対するDELETEなどです。

409紛争

  • 更新が失敗した場合は、「競合」を送信して、クライアント側が競合を自分で解決して再試行できるようにします。

500内部サーバーエラー

  • 内部エラー。これは、認識されないすべてのエラーに使用されるデフォルトのコードです。

501は実装されていません

  • 期待されているがまだ実装されていない機能に使用します。
于 2010-10-30T13:28:41.910 に答える
0

私が見つけることができる最も近いものは400 Bad Requestです。

于 2010-10-30T12:43:30.207 に答える
0

Ariejanが言ったように、APIはすでに定義されているHTTPコードに基づいている必要があります。エラーメッセージを送信する場合は、HTTPメッセージを使用しないのが最善の方法ですが、JSON形式の応答本文にメッセージを含めることをお勧めします。

于 2010-10-30T15:14:10.770 に答える
0

422処理不可能なエンティティ(RFC 4918、セクション11.2を参照)

于 2010-10-30T19:46:20.067 に答える