处理客户端中的 OData 错误

本文关键字:OData 错误 客户端 处理 | 更新日期: 2023-09-27 17:55:24

我正在c#客户端中使用At WebApi 2.2 OData v4服务。在服务器端,我将异常包装到Microsoft.Odata.Core.ODataError对象中。

在 OData V4 数据服务客户端Microsoft中,我在以下代码块中捕获异常。

try
{
    //Post message to server
}
catch (DataServiceClientException ex)
{
    string result = ex.Message;
    ODataError error = JsonConvert.DeserializeObject(result) as ODataError;
}

在这里,我得到了error对象的空值。但是,result对象具有以下字符串值Json

{
  "error":{
    "code":"Custom Error","message":"The INSERT statement conflicted with the FOREIGN KEY constraint...."
  }
}

问题:如何将Json字符串转换为ODataError对象?我的要求是从字符串上方读取消息属性Json例如var errmsg = error.message;还有其他选择吗?

处理客户端中的 OData 错误

我猜你使用 json.NET JsonConvert.DeserializeObject(result, typeof(ODataError))可能会解决你的问题。