1

我正在使用“PUT”方法将一些 JSON 数据发送到 Web 服务,但出现422 无法处理的实体错误。
我怎样才能真正看到 JSON 中的服务器响应?我深入研究了异常,但仍然找不到 json 响应。

前任:

JSON请求:

{
  customer:
  {
    name: "asd",
    address: "test"
  }
}

如果一切正常,它应该响应我一些 JSON 数据。

前任:

{
  customer:
  {
    id: 1,
    name: "asd",
    address: "test"
  }
}
4

3 回答 3

3

您可以捕获 WebExpection 并从中获取响应并提取正确的错误消息:

代码 :

catch (WebException ex)
{
    using (var sr = new StreamReader(ex.Response.GetResponseStream()))
    {
       var data = sr.ReadToEnd();                    
       throw new ApplicationException(data);
    }                
}
于 2014-03-28T00:23:09.013 回答
1

您可以使用Fiddler手动测试此休息服务。
422 HTTP错误解释:请求格式正确,但由于语义错误而无法执行
因此,例如检查您发送的 JSON 数据的格式是否正确。

于 2012-06-11T16:43:41.707 回答
0

回答您的问题:您无法在指定语法错误的 json 中得到详细的答案。找出错误将是一个手动试错过程。

正如 user3470814 所提到的,您应该捕获这种错误并在您的应用程序中对其进行处理。

正如 lucask 所提到的,Fiddler 将帮助您查看请求中发送的确切字符串。

于 2016-01-14T15:41:38.483 回答