我有一個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)'作品。這是一種方式嗎? –