ViewModel转换为Json失败

时间:2018-12-06 16:56:00

标签: c# asp.net-mvc asp.net-web-api

我正在尝试将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;

2 个答案:

答案 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中,如果下面的代码不能解决问题,请问您将接收请求的方法?

相关问题