У меня есть один api, вызывающий другой.HttpClient PostAsync опубликовал нулевой контент
и вот мой код, который, как представляется, вызывает ModelState.IsValid = false
с другой стороны мира.
var baseUri = new Uri("http://localhost:5001/"):
_httpClient.BaseAdress = baseUri;
var data = new StringContent(content: model.Tostring(),
encoding: Encoding.UTF8,
mediaType: "application/json");
var response = await _httpClient.PostAsync("api/product", data);
смотреть Post([FromBody]Product product)
на апи называют я просто вижу product=null
.
изменение к Post([FromBody]object product)
также показаны null
.
вызов api от Postman
работает отлично. которые локализуют мою проблему до PostAsync
. что происходит с моим PostAsync
?
Edit:
Я знаю, что люди могли бы предложить PostAsJsonAsync
, но я постараюсь это только после того, как я знаю, что проблема с PostAsync
. :(
Вы уверены, что 'model.ToString()' производит надлежащее JSON? И даже если это так, вам лучше по крайней мере использовать отдельный метод, например «ToJsonString», или даже не ставить код сериализации внутри этого класса вообще. –
В любом случае без [MCVE] мы не можем вам помочь. –
пятно на @EugenePodskal. 'model.ToString()' не делал то, что я думал, что это делает. меняется на 'content: JsonConvert.SerializeObject (model)' работает. это путь? –