Отправьте пустое тело в REST API через HttpClient


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

4 68

4 ответа:

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

сделал это раньше, просто держать его простым:

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

установлено, что:

Task task = клиент.PostAsync (url, null);

добавляет null в тело запроса, которое не удалось выполнить на WSO2. Заменено на:

Task task = клиент.PostAsync (url, new {});

и работал.

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

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

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