アプリケーション全体で未処理の例外を Web API の応答本文に追加する方法。例外がない場合は、すべての応答の応答本文に成功メッセージを送信する必要があります....これを達成するには助けが必要です。
1 に答える
2 つのことが必要です。例外を処理するには、HttpConfiguration オブジェクトで IncludeDetailErrorPolicy を設定する必要があります。
エラー ポリシーの設定は、IncludeErrorDetailPolicy プロパティの構成オブジェクト (HttpConfiguration) の一部として構成できます。これは、Web API に例外の処理方法を指示する単なる列挙型です。
この列挙型の可能な値は次のとおりです。
デフォルト: ホストとして ASP.NET を使用している場合、またはセルフホストに LocalOnly を使用している場合は、customErrors 構成設定が使用されます。LocalOnly: ローカル リクエストのエラーの詳細のみを含めます Always: 常にエラーの詳細を含めます Never: エラーの詳細を含めません
例外が発生すると、Web API はこの設定の値をチェックして、例外に関する詳細を応答メッセージに含めるかどうかを確認します。たとえば、Always が有効になっている場合、Web API は、応答として取得するメッセージの一部として例外の詳細をシリアル化します。
すでに応答ステータス コードがあるため、成功メッセージはあまり意味がありません。OK に等しいステータス コードは、すべてが正常に完了したことを意味します。さらにメッセージを追加する場合は、応答ステータス コードを確認する HttpMessageHandler を使用します。ステータス コードが OK の場合は、メッセージを追加します。ただし、応答本文はその時点ですでに設定されているため、変更することはできません。メッセージをヘッダーとして追加できる場合があります。