使用HttpClient从Web API发布JsonObject

17 浏览
0 Comments

使用HttpClient从Web API发布JsonObject

我正在尝试使用Web API中的HttpClient POST一个JsonObject。我不太确定该怎么做,也找不到太多示例代码。

目前我有以下内容:

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,但我在这一步卡住了。

admin 更改状态以发布 2023年5月21日
0
0 Comments

最简单的方法是使用一个StringContent,将您的JSON对象的JSON表示形式与其一起使用。

httpClient.Post(
    "",
    new StringContent(
        myObject.ToString(),
        Encoding.UTF8,
        "application/json"));

0
0 Comments

使用新版本的HttpClient,无需WebApi包,就可以实现:

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

或者如果您想要异步处理:

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

0