我正在使用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服務返回的錯誤對象仍然只有基本的「發生錯誤」信息。
非常感謝幫助!