Результаты поиска POST в Http Response Message - PullRequest
0 голосов
/ 10 февраля 2019

Я создаю REST Client (c #), используя приложение Windows Form в VS2017.Я смог успешно получать и отправлять запросы с сервера с помощью методов HttpClient.PostAsJsonAsync () и ReadAsync ().Я пытаюсь отправить некоторые данные на сервер, и после успешного завершения POST сервер отвечает уникальной строкой, такой как "1c77ad2e-54e0-4187-aa9d-9a55286b1f7a"

Я получаюКод успешного ответа (200 - ОК) для POST.Тем не менее, я не уверен, где проверить полученную строку.Я проверил содержимое HttpResponseMessage.Content

static async Task<HttpStatusCode> PostBurstData(string path, BurstRequest 
burstRequest)
    {
        HttpResponseMessage response = await client.PostAsJsonAsync(path, burstRequest);

        response.EnsureSuccessStatusCode();
        Console.WriteLine(response.Content.ToString());

        // return response
        return response.StatusCode;
    }

Данные, отправленные на этот вызов функции, выглядят следующим образом:

BurstRequest request = new BurstRequest();
            request.NodeSerialNumbers = SubSerialList;
            request.StartTime = ((DateTimeOffset)dateTimePicker1.Value).ToUnixTimeMilliseconds();

            HttpStatusCode statusCode = new HttpStatusCode();

            statusCode = await PostBurstData(post_burst_url, request);

Где мне искать строку, на которую сервер отвечаетуспешный пост?Следует ли читать содержимое с помощью ReadAsync ()?

if (response.IsSuccessStatusCode)
        {
            var data = await response.Content.ReadAsAsync();

        } 

1 Ответ

0 голосов
/ 10 февраля 2019

Почему бы не попытаться использовать HttpContent, как показано ниже:

using (HttpResponseMessage response = await client.GetAsync(url)) // here you can use your own implementation i.e PostAsJsonAsync
        {
            using (HttpContent content = response.Content)
            {
                string responseFromServer = await content.ReadAsStringAsync();

            }

        }
...