Подтвердить что ты не робот

Поместить пустой объект в REST API через HttpClient

API, который я пытаюсь вызвать, требует, чтобы я выполнял POST, но с пустым телом. Я новичок в использовании API-интерфейса WCF Web API HttpClient, и я не могу найти код записи, который будет делать сообщение с пустым телом. Я нахожу ссылки на некоторый метод HttpContent.CreateEmpty(), но я не думаю, что это для кода API HttpClient Web API, так как я не могу найти этот метод.

4b9b3361

Ответ 1

Используйте StringContent или ObjectContent, которые выходят из HttpContent, или вы можете использовать null как HttpContent (см. этот комментарий).

Ответ 2

Сделал это раньше, просто прост:

Task<HttpResponseMessage> task = client.PostAsync(url, null);

Ответ 3

Нашли что:

Task<HttpResponseMessage> task = client.PostAsync(url, null);

Добавляет ноль в тело запроса, что не удалось на WSO2. Заменено на:

Task<HttpResponseMessage> task = client.PostAsync(url, new {});

И работал.

Ответ 4

Я думаю, что это автоматически, если ваш веб-метод не имеет параметров или все они вписываются в шаблон URL.

Например, это объявление отправляет пустое тело:

  [OperationContract]
  [WebGet(UriTemplate = "mykewlservice/{emailAddress}",
     RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
     BodyStyle = WebMessageBodyStyle.Wrapped)]
  void GetStatus(string emailAddress, out long statusMask);