Я использую REST API (предоставляемый клиентом) в C#/asp.net и управляю результатом json, возвращаемым этим REST API. я потребляю его по следующему коду.
HttpWebResponse res = null;
string ReturnBody = string.Empty;
string requestBody = string.Empty;
WebRequest request = WebRequest.Create(Path);
request.ContentType = "application/json";
request.Method = "POST";
request.ContentLength = json.Length;
//Add Basic Auhtentication header
string authInfo = Username + ":" + Password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;
System.IO.StreamWriter sw = new System.IO.StreamWriter(request.GetRequestStream());
sw.Write(json);
sw.Close();
res = (HttpWebResponse)request.GetResponse();
if (res != null)
{
using (StreamReader sr = new StreamReader(res.GetResponseStream(), true))
{
ReturnBody = sr.ReadToEnd();
StringBuilder s = new StringBuilder();
s.Append(ReturnBody);
sr.Close();
}
}
Я поместил приведенный выше код в блок try catch, поэтому он работает правильно, если он вернет код успеха (200), поэтому я могу использовать ответ json от объекта res в соответствии с приведенным выше кодом.
но когда этот REST API выдает ошибку, он будет перенаправлен на catch, а res будет null, поэтому я не могу получить доступ к json-ответу сообщения об ошибке, поскольку я могу получить его >Fiddler, как показано на рис.
так что помогите мне с Как я могу использовать этот ответ об ошибке json через свой код?
Заранее спасибо! за любую помощь.