2012-06-11 54 views
1

我使用「PUT」方法將一些JSON數據發送到Web服務,但我有422無法處理的實體錯誤。
如何在JSON中真正看到服務器響應?我深入挖掘異常,但仍然無法找到json響應。如何在C#Visual Studio中發生422(不可處理的實體)錯誤時讀取json響應

例:

JSON請求:

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

,如果一切正常它應該針對我一些JSON數據。

例:

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

回答

1

你可以手動Fiddler測試這個REST服務。
422 HTTP錯誤說明:請求格式正確,但由於語義錯誤而無法遵循。
因此,請檢查例如您發送的JSON數據格式是否正確。

2

你能趕上WebExpection,並從該響應,並提取正確的錯誤消息:

代碼:

catch (WebException ex) 
{ 
    using (var sr = new StreamReader(ex.Response.GetResponseStream())) 
    { 
     var data = sr.ReadToEnd();      
     throw new ApplicationException(data); 
    }     
} 
0

要回答你的問題:在JSON你不能得到詳細的答案指定語法錯誤比你有。這將是一個手動試錯過程,以查找錯誤。

正如user3470814所提到的,您應該捕獲這種錯誤並在您的應用程序中對其進行處理。

正如lucask所提到的,Fiddler會幫助您查看您的請求中發送的確切字符串。

相關問題