创建默认的 ASP.NET Web Api 项目时,默认的 ValuesController 具有如下的 post 方法:
// POST api/values
public void Post(string value)
{
}
我试图通过 HTTP 请求从 Filder 测试这个 POST 方法:
POST /api/values
User-Agent: Fiddler
Host: localhost
Content-Type: application/x-www-form-urlencoded
value=abc
这让我很惊讶,输入参数值是null,而不是abc。它肯定在 beta 版本中工作,但在 RC 版本中,我做错了什么或者它不再像这样工作了吗?
当然,我们还有另一种解决方法,方法是在下面创建强类型对象:
public Class TestDto
{
public string Value { get; set; }
}
public void Post(TestDto testDto)
{
}
或者使用 Json。
但我想对此有更多的了解。