Обработка ошибок метода C# post API
в приведенном ниже коде, если статус равен 200, то все в порядке, иначе он перенаправляется на метод catch, так что я не могу получить подробный ответ об ошибке на api.
На этой линии
var response = client.UploadString(webApiUrl, serialisedData);
он перенаправляет на метод catch, если статус api не равен 200.
public object postWebApi(object data, Uri webApiUrl, string id, string password) { // Create a WebClient to POST the request WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; // Set the header so it knows we are sending JSON client.Headers[HttpRequestHeader.ContentType] = "application/json"; // Serialise the data we are sending in to JSON string serialisedData = JsonConvert.SerializeObject(data); string auth = string.Format("{0}:{1}", id, password); string enc = Convert.ToBase64String(Encoding.ASCII.GetBytes(auth)); string cred = string.Format("{0} {1}", "Basic", enc); client.Headers[HttpRequestHeader.Authorization] = cred; // Make the request var response = client.UploadString(webApiUrl, serialisedData); // Deserialise the response into a GUID return JsonConvert.DeserializeObject(response); }
Что я уже пробовал:
Пожалуйста, помогите в случае успеха это нормально, если статус ответа равен 400 или другой не смог прочитать respnse api.
Kornfeld Eliyahu Peter
Если бы не было никаких исключений, единственный способ пойти-это посмотреть на ответ... Это строка, которая пришла с сервера как есть... К сожалению, для этого нет стандарта, но он, вероятно, будет содержать код ответа HTTP... Выполните некоторую отладку с различными URI и данными...