私は別のAPIを呼び出すことがあります。HttpClient PostAsync投稿nullコンテンツ
ここでは、世界の反対側のModelState.IsValid = false
が原因と思われるコードです。 APIのPost([FromBody]Product product)
を見
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);
は、私はちょうど
product=null
を参照してくださいと呼ばれています。
Post([FromBody]object product)
に変更すると、null
と表示されます。
Postman
からapiを呼び出しても問題ありません。私の問題はPostAsync
にローカライズされています。私のPostAsync
で何が起こっていますか?
編集:
私は人々がPostAsJsonAsync
を示唆するかもしれないけど、私は私がPostAsync
に問題が何を知った後にのみ、それを試してみましょう。 :(
あなたは 'model.ToString()'適切なJSONを生成していることを確認しているように少しになります
?そして、たとえそれがあっても、少なくともToJsonStringのような別のメソッドを使うことをお勧めします。あるいは、そのクラスの中にシリアライゼーションコードを入れないことさえあります。 –
いずれにしても[MCVE]がなければ、お手伝いできません。 @EugenePodskalの –
スポット。 'model.ToString()'は私が思っていたことをしていませんでした。 'content:JsonConvert.SerializeObject(model)'に変更されました。それは行く方法ですか? –