【发布时间】:2015-07-31 21:19:34
【问题描述】:
我正在尝试将 JSON 数据发布到 web api,这两个项目都在我的本地计算机上运行。
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(@"http://localhost:53818/");
var result = client.PostAsync("api/values", new StringContent(data, Encoding.UTF8, "application/json")).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
Console.WriteLine(resultContent);
}
在这个 post 方法中接收到的值为 NULL
public HttpResponseMessage Post([FromBody]string value)
{
return new HttpResponseMessage(HttpStatusCode.Created);
}
编辑 ----------- 所以我设法找出问题所在。我已经替换了这行代码
client.PostAsync("api/values", new StringContent(data, Encoding.UTF8, "application/json")).Result;
以下内容有效,如果有人能发布解释,我将不胜感激
var response = client.PostAsJsonAsync("api/values", data).Result;
【问题讨论】:
-
data在您的第一个 sn-p(您提出请求的位置)中看起来像什么? -
我的数据是一个json文件,用另一种方法生成,传给这个,数据生成正确
-
那么数据的命名方式是否可以让您的 WebAPI 操作签名通过自动绑定获取?
-
@Jasen 你能详细解释一下你的意思吗?
标签: c# asp.net json asp.net-mvc http