1. ホーム
  2. c#

[解決済み】Web APIからHttpClientでJsonObjectをPOSTする。

2022-03-25 03:56:21

質問

をPOSTしようとしています。 JsonObject を使って HttpClient をWeb APIから取得しました。どうすればいいのかよくわからないし、サンプルコードもあまり見当たりません。

今のところ、こんな感じです。

var myObject = (dynamic)new JsonObject();
myObject.Data = "some data";
myObject.Data2 = "some more data";

HttpClient httpClient = new HttpClient("myurl");
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = httpClient.Post("", ???);

をキャストする必要があると思います。 JsonObject として StreamContent が、そのステップでつまずいています。

どのように解決するのですか?

新しいバージョンの HttpClient であり、かつ WebApi というパッケージになります。

var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
var result = client.PostAsync(url, content).Result;

または、必要であれば async :

var result = await client.PostAsync(url, content);