我正在使用 RESTier 0.6.0 库,并希望在删除资源之前对其进行一些检查。如果检查失败,我会抛出异常来停止删除操作。但是,我用来实例化异常的错误消息并没有在最高级别推出。从 Visual Studio 提供 Web API 时,我只能将消息视为内部异常。有没有办法让这个错误消息在最高级别推出?
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.");
}
}
目前,在 EntityFrameworkApi 中的 OnDelete 提交逻辑方法中抛出的任何异常都会导致如下所示的错误:
{ "error":{ "code":"","message":"发生错误。" } }
...这对客户不是特别有用。
更新:我在 RESTier 文档MkDocs 版本中指出,给出了一个抛出 ODataException(而不是异常)的示例。我在代码中更改了这一点,但发布的 Restier 服务返回的错误对象仍然只有基本的“发生错误”信息。
非常感谢您的帮助!