API, который я пытаюсь вызвать, требует, чтобы я выполнял POST, но с пустым телом. Я новичок в использовании WCF Web API HttpClient, и я не могу найти код записи, который делал бы сообщение с пустым телом. Я нахожу ссылки на какой-то метод HttpContent.CreateEmpty (), но я не думаю, что это касается кода HttpClient веб-API, так как я не могу найти этот метод.
c#
httpclient
wcf-web-api
Райан Ринальди
источник
источник
Ответы:
Используйте
StringContent
илиObjectContent
которые являются производнымиHttpContent
или вы можете использоватьnull
какHttpContent
:var response = await client.PostAsync(requestUri, null);
источник
HttpContent
класс? Должны ли мы хотя бы предоставить что-то (даже пустую строку) для публикации http-сообщения?null
в качествеHttpContent
, это не будет отправлять тело в запросе, напримерvar response = await client.PostAsync(requestUri, null);
Делал это раньше, просто пусть будет проще:
источник
Нашли, что:
Добавляет null в тело запроса, который не удался на WSO2. Заменено на:
И сработало.
источник
null
контентом и смотрю на контент, найденный вHttpRequestMessage
, мне кажется, что длина составляет ноль байтов.Чтобы решить эту проблему, используйте этот пример:
источник
Я думаю, что это происходит автоматически, если ваш веб-метод не имеет параметров или все они вписываются в шаблон URL.
Например, это объявление отправляет пустое тело:
источник