本文介绍了使用HttpClient PostAsJsonAsync在ASP.NET Core中发送HTTP POST消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想发送动态对象,例如

I want to send dynamic object like

new { x = 1, y = 2 };

作为HTTP POST消息的主体。所以我试着写

as body of HTTP POST message. So I try to write

var client = new HttpClient();

但我找不到方法

client.PostAsJsonAsync()

所以我尝试添加Microsoft将.AspNetCore.Http.Extensions包添加到project.json,并使用Microsoft.AspNetCore.Http.Extensions添加

So I tried to add Microsoft.AspNetCore.Http.Extensions package to project.json and add

using Microsoft.AspNetCore.Http.Extensions; 

要使用子句。但是,这对我没有帮助。

to uses clause. However It didn't help me.

那么在ASP.NET Core中使用JSON正文发送POST请求的最简单方法是什么?

So what is the easiest way to send POST request with JSON body in ASP.NET Core?

推荐答案

您应该添加对 Microsoft.AspNet.WebApi.Client包的引用(阅读适用于样本)。

You should add reference to "Microsoft.AspNet.WebApi.Client" package (read this article for samples).

如果没有任何其他扩展名,则可以使用标准的 PostAsync 方法:

Without any additional extension, you may use standard PostAsync method:

client.PostAsync(uri, new StringContent(jsonInString, Encoding.UTF8, "application/json"));

其中 jsonInString 的值可以通过调用 JsonConvert.SerializeObject(<您的对象>);

where jsonInString value you can get by calling JsonConvert.SerializeObject(<your object>);

这篇关于使用HttpClient PostAsJsonAsync在ASP.NET Core中发送HTTP POST消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 23:29