【发布时间】:2013-12-20 14:02:29
【问题描述】:
我是 web-api 的新手。我想使用 web-api 接收 HTTP POST 数据。 content-type 是application/x-www-form-urlencoded,请求体是这样的:
data={"mac":"0004ED123456","model":"SG6200NXL"}(JSON 格式)。
我的控制器是这样的:
public void Post([FromBody]string formData)
{
data.Add(formData);
}
但 formData 始终为空。仅当我将请求正文更改为:
={"mac":"0004ED123456","model":"SG6200NXL"}
我可以找到{"mac":"0004ED123456","model":"SG6200NXL"} 保存在我的formData 字符串中。
所以我的问题是我应该如何接收格式的数据:
data={"mac":"0004ED123456","model":"SG6200NXL"}?
有没有一种简单的方法可以将 JSON 淡化为 C#?
感谢您的帮助!
更新: 我尝试使用模型,但它仍然不适合我。 我的模型是:
public class Device
{
public string mac { get; set; }
public string model { get; set; }
}
我的 HTTP POST 请求是:
标题:
User-Agent: Fiddler
Content-type: application/x-www-form-urlencoded
Host: localhost:52154
Content-Length: 46
正文:
data={"mac":"0004ED123456","model":"SG6200NX"}
据我所知,我必须使用Content-type: application/x-www-form-urlencoded,因为 HTTP POST 是由路由器发送的。我的工作是接收数据。
【问题讨论】:
标签: c# asp.net json asp.net-web-api