私はASP.NET Web APIを使用して新しいREST APIを開発しています。 WCFの背景から、私はAPIの「エラー契約」を作成することに慣れています。Web APIのエラーを返す
この場合、私は未処理の例外がクライアントに返されているということではありません。代わりに、私はAPIがクライアントによって不適切に使用されている、特にクライアントが自動的にこれらのエラーを作成してリクエストを再送信できるようなエラーに集中しています。
私はちょうどより自動化された有益なエラー文字列を構築するプロセスを作るために、通常はHttpResponseExceptionを投げ、または少なくともいくつかのものをすることによって、返される文字列を持っていることがわかりましたほとんどの例:Return custom error objects in Web API
私は」代わりにHttpResponseExceptionを作成し、その内容が特定のエラー契約タイプに設定されているHttpResponseMessageを渡すことを考えています。
また、私のAPIも自動モデル検証を多用していますが、モデル検証のエラーはまったく別の構造に戻ってきます。
「エラー」をモデル検証応答と同じ形式にする必要がありますか?ここでベストプラクティスは何ですか?
最後に、私のAPIは、json、xml、およびプロトコルバッファの書式設定オプションを公開します。その結果、私の戦略はフォーマッタに依存しないことを確かめなければなりません。
あなたはHttpErrorとそれを返す最善の方法について何か情報を提供できますか?それはまだエラーを返す標準的な方法です - 私はそれについてほとんど気づくことはありません - thx。また、IHttpActionResultで動作するようには見えません。 – niico