我正在使用RESTier 0.6.0库,并且希望在删除它之前对资源执行一些检查。在检查失败的情况下,我抛出异常来停止删除操作。但是,我用来实例化异常的错误消息并未在最高级别推出。从Visual Studio提供Web API时,我只能将该消息视为内部异常。有没有办法让这个错误消息在最高级别推出?RESTier提交逻辑,将错误消息推送到顶层
protected void OnDeletingGw_Pack(Gw_Pack pack)
{
var trades = ModelContext.Gw_PackJunction.Where(e => e.PackID == pack.PackID).ToList();
if (pack.Groupage == true || trades.Count > 1)
{
// Don't delete a pack if it is a groupage container or if it's associated with more than one Trade.
throw new Exception("The container you are trying to delete is either marked as groupage or is functioning as a groupage container in another file.");
}
}
目前OnDelete内抛出的任何异常提交在EntityFrameworkApi结果逻辑方法中,看起来像这样的错误:
{ “错误”:{ “代码”:“”,“消息“:“发生了错误。” } }
...这对客户来说并不特别有用。
更新:我在RESTier文档MkDocs version中指出,在抛出ODataException(而不是Exception)的情况下给出了一个示例。我在我的代码中对此进行了更改,但发布的Restier服务返回的错误对象仍然只有基本的“发生错误”信息。
非常感谢帮助!