我正在尝试将viewmodel转换为httpcontent以传递viewmodal。我想使用url从另一个Web api调用Web api的post方法,下面提到我的代码,post方法正确命中,但viewmodal为null,请有人帮我将viewmodal传递给postasync方法。
client.BaseAddress = new Uri("http://localhost:89**2/");
string content = JsonConvert.SerializeObject(myViewModel);
var buffer = System.Text.Encoding.UTF8.GetBytes(content);
var byteContent = new ByteArrayContent(buffer);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = client.PostAsync("api/abcd", byteContent).Result;
答案 0 :(得分:1)
尝试将StringContent用于您的帖子数据。
client.BaseAddress = new Uri("http://localhost:89**2/");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(JsonConvert.SerializeObject(myViewModel),
Encoding.UTF8, "application/json");
var result = client.PostAsync("api/abcd", content).Result;
答案 1 :(得分:1)
您可以尝试这样的事情。
client.BaseAddress = new Uri("http://localhost:89**2/");
string content = JsonConvert.SerializeObject(myViewModel);
var stringContent = new StringContent(content, Encoding.UTF8, "application/json");
var result = client.PostAsync("api/abcd", stringContent ).Result;
我们正在考虑问题出在“ client.PostAsync”中,但可能是正在接收请求的api中,如果下面的代码不能解决问题,请问您将接收请求的方法?