したAPI境界を定義するための要件でもあります。すべての起こりうるエラーを分類するシンプルな方法を提供するよう適切なバランスに努めています。具体的な目標は次のとおりです:すべての起こりうるレスポンスを文書化すること。コントローラー)にエラーの分類ロジックを保持すること。既存のエラーの分類を簡単な方法で提供すること。使用される抽象化は、エラークラスです。この特定の発生した問題への一意の識別子。文字列の値で表現される、アプリケーション特有のエラーコード。この発生した問題への人間が判読可能な説明。タイトルと同様に、このフィールドはローカライズ可能です。エラーに関する非標準のメタ情報を含むメタオブジェクト。一般的なケースをカバーするために利用できる既存のエラークラスのセットが付属しています。インターフェイスを実装します。このインタフェースは、ミドルウェアがロギングなどのエラー処理に利用できるようなエラーレスポンスのステータスや固有のトークンを公開します。エラーオブジェクトの振る舞いをチェックすることによって、エラークラスを介して生成されたエラーがかどうかを判定することもできます。class}エラークラスを使うエラークラスのユースケースは主に2つあります:エラークラスを使用して、内部モジュールから返されたエラーをラップすることができます。エンドポイントで新しいエラーを直接作成することができます(たとえばカスタムバリデーションエラー)。}新しいエラーを作る新しいエラーを作った方が便利な場合もしばしばあります。クライアントが特定のエラーのクラスを特定の方法で扱う必要があるかもしれません。エラーはログや他のトレースする仕組みによって簡単に区別できる必要があるかもしれません。レスポンスにマップします。ステータスを整形するために使用されます。エラーレスポンスをデザインするこれまで、コントローラのコードがエラーレスポンスをどのように適応また作成するかを見てきました。最終的には、APIのデザインによってレスポンスの正しい内容が決定されます。メディアタイプを提供しています。ctx.OK(b)}すべてを統合して最初の目標に戻ってみましょう。よるエラーレスポンスを含む各アクションの可能なレスポンスを定義しています。エラークラスは、エラークラスを利用してエラーをラップすることによって、実装によって生成されたエラーをデザインにマップする方法を提供します。サービスは、ドメイン固有のエラーを処理する独自のエラークラスを作成する必要があります。コントローラーは、適切なレスポンスが送信されるように、エラークラスを添付したエラーだけを返すようにする必要があります。これらのエラーを作成するか、より深いレイヤーからのエラーをラップすることで、そうすることができます。コントローラアクションは、デザインで定義された約定を実装する責任があることに注意してください。ステータスコードを使用するエラークラスを定義するべきではありません。