私は Web API が初めてで、いくつかの API コントローラーの例外を試していました。ここでの私の問題は、例外がスローされたときです。アプリケーションは、スタックトレースと返されるモデルのいくつかのプロパティを含む情報を多すぎます。返される例外をメッセージだけに制限できるかどうか疑問に思っていましたか?
次に例を示します。
public IEnumerable<Appointments> GetAll(int id)
{
IEnumerable<Appointments> appointments = icdb.Appointments.Where(m => m.Id== id).AsEnumerable();
return appointments;
}
これが例外 (差分の問題) を返す場合、次のようなものが返されます。
{"メッセージ":"エラーが発生しました。","ExceptionMessage":"'ObjectContent`1' タイプは、コンテンツ タイプ 'application/json; charset=utf-8' の応答本文をシリアル化できませんでした。","ExceptionType ":"System.InvalidOperationException","StackTrace":null,"InnerException":{"メッセージ":"エラーが発生しました。","ExceptionMessage":"タイプ 'System. Data.Entity.DynamicProxies.User_B23589FF57A33929EC37BAD9B6F0A5845239E9CDCEEEA24AECD060E17FB7F44C'. パス '[0].UpdateBy.UserProfile.UpdateBy.UserProfile'.","ExceptionType":"Newtonsoft.Json.JsonSerializationException","StackTrace":........ ...................................: : : }
お気づきのとおり、モデルのほとんどのプロパティを含むスタック トレースが返されます。例外がスローされたときにメッセージを返す方法はありますか?