我对 Web API 非常陌生,并且正在尝试一些 API 控制器异常。我的问题是当抛出异常时,应用程序将返回太多信息,其中包括堆栈跟踪和正在返回的模型的一些属性。我想知道返回的异常是否可以仅限于一条消息?
这是一个例子:
public IEnumerable<Appointments> GetAll(int id)
{
IEnumerable<Appointments> appointments = icdb.Appointments.Where(m => m.Id== id).AsEnumerable();
return appointments;
}
如果这会返回异常(差异问题),它将返回如下内容:
{"Message":"发生错误。","ExceptionMessage":"'ObjectContent`1' 类型未能序列化内容类型 'application/json; charset=utf-8' 的响应正文。","ExceptionType ":"System.InvalidOperationException","StackTrace":null,"InnerException":{"Message":"发生错误。","ExceptionMessage":"检测到属性 'UpdateBy' 类型为 'System. Data.Entity.DynamicProxies.User_B23589FF57A33929EC37BAD9B6F0A5845239E9CDCEEEA24AECD060E17FB7F44C'。路径'[0].UpdateBy.UserProfile.UpdateBy.UserProfile'。","ExceptionType":"Newtonsoft.Json.JsonSerializationException","StackTrace":........ …………………………………………………………………………………………: : : }
正如您所注意到的,它会返回一个堆栈跟踪,其中包含我模型的大部分属性。有没有一种方法可以在抛出异常时返回一条消息?