Модель HttpClient PostAsyn c пуста, однако работает в Почтальоне - PullRequest
0 голосов
/ 03 апреля 2020

Я звоню, используя HttpClient.

var serializedRequest= JsonConvert.SerializeObject(searchRequest);
var stringContent = new StringContent(serializedRequest, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync(url, stringContent);

Объект недействителен в контроллере API:

[HttpPost]
public List<string> GetSearchResults([System.Web.Http.FromBody]SearchRequest searchRequest)

Однако, если я сделаю тот же вызов из Postman (я скопировал сериализованный объект в Visual Studio во время отладки), оно работает. Почему это так? Я пытаюсь выяснить, как отправить длину содержимого вместе с запросом, но, очевидно, это должно происходить уже с помощью StringContent.

. Вызывающая сторона. NET Core 2.2 и API . NET Framework 4.7.2.

EDIT:

Это был первоначальный вызов:

var response = await _httpClient.PostAsJsonAsync(url, searchRequest);

Это НЕ работает, даже если метод API не работает используя [FromBody]. Похоже, мне нужно использовать приведенный выше код (StringContent) вместе с методом API, не использующим [FromBody]. Что странно, так это то, что у коллеги нет этой проблемы. Это только на моей машине. Go рисунок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...