我有一个API调用另一个。HttpClient PostAsync发布null内容
这里是我的代码,它似乎在世界的另一边导致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);
看的API Post([FromBody]Product product)
被称为我刚才看到product=null
。
更改为Post([FromBody]object product)
也显示null
。
调用API从Postman
完美的作品。其中我的问题本地化到PostAsync
。我的PostAsync
怎么回事?
编辑:
我知道人们可能会建议PostAsJsonAsync
,但我会尝试后,才知道什么是与PostAsync
问题。 :(
你肯定'model.ToString()'产生正确的JSON?即使是这样,你最好至少使用一个像ToJsonString这样的单独的方法,或者甚至不要将序列化代码放在该类中。 –
无论如何,没有[MCVE]我们都无法帮到你。 –
@EugenePodskal。 'model.ToString()'没有做我认为正在做的事情。更改为'content:JsonConvert.SerializeObject(model)'作品。这是一种方式吗? –