0

私は REST サービスを作成していますが、一部のプッシュ リクエストは特定の時間枠でしか機能しません。たとえば、アクティブな勤務時間中。これらの時間外では、サーバーはエラーを送信します。

利用可能な HTTP ステータス コードを調べましたが、「無効なサーバー状態」または同等の状況に適用するのに最適なコードがわかりません。400 (Bad Request) または 422 (Unprocessable Entity) を検討していますか?

422 について、私が持っている定義は、「要求は整形式でしたが、セマンティック エラーのために従うことができませんでした」です。そして、これが本当に最も適切なケースであるかどうか疑問に思っていますか?

4

1 に答える 1

1

400 Bad Request私には正しい反応のように見えます。これは間違いなくクライアント エラーですが、リクエスト自体に問題はありません。ちょうどリクエストのタイミング。応答本文にそれを明確にするための追加情報が含まれている場合 (「当社のオフィスは閉鎖されています。月曜から金曜の午前 9 時から午後 5 時までの間にリクエストを行ってください。」の行に沿って)、正常に使用されています。適切な方法での単純で一般的な応答タイプ。これは優れた API になります。

追記として; 422 があまり正しくないと私が言う理由は、要求の意味が明確だからです。これは単なるタイミングの問題であり、セマンティック エラーはありません。

于 2016-08-24T17:22:04.043 に答える