Отсутствует тело ответа от 422 в c # [дубликат]

Carl Lewis спросил: 12 мая 2018 в 05:14 в: c#

У этого вопроса уже есть ответ:

  • WebException how to get whole response with a body? 2 ответа

Я помогаю пользователю интегрироваться с моим API, и он использует C # для этого. Если он отправит мне неправильный JSON, я пришлю ему 422, а затем отправлю ему причину провала его запроса в орган реагирования. Тело ответа, кажется, отсутствует в веб-исключении, поэтому он никогда не получает причину своей ошибки и не может его исправить. Где это тело ответа, я могу заставить WebClient не бросать и исключать только потому, что код состояния в ответе отрицательный?

using (var clientRequest = new WebClient())
        {
            clientRequest.Headers[HttpRequestHeader.ContentType] = "application/json";
            clientRequest.Headers[HttpRequestHeader.Authorization] = "Token token=" + APITOKEN;            try
            {
                jsonResponse = clientRequest.UploadString(apiMethodUrl, "POST", json);
                Console.WriteLine("REcived Message from the server");
                Console.WriteLine(jsonResponse);
                Console.WriteLine("See the MEssage");            }
            catch (WebException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

Может кто-нибудь помочь?

1 ответ

SLaks ответил: 12 мая 2018 в 05:16

Вы ищете свойство WebException.Response, которое возвращает полный ответ.