我的问题类似于ASP.NET MVC 4 RC Web API 参数绑定问题,但我试图通过使用[FromBody]属性来解决它。
Fiddler报告以下请求(不包括用户代理字符串等不相关的部分)
PUT http://localhost:82/api/account/shoppinglistitems HTTP/1.1
Host: localhost:82
Connection: keep-alive
Content-Length: 11
Origin: http://localhost:3000
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01
query=apple
我的控制器操作是:
[HttpPut]
public ShoppingListItemWebModel CreateShoppingListItem([FromBody]string query) {
// query is null
}
我可以将参数封装在一个复杂类型中,但那似乎是为了解决问题而采取的一种妥协方式。或者我可以将查询放在URI中,但那不符合其余API的模式。这种方式可行吗?如果可以,我的错误在哪里?