【发布时间】:2012-04-01 12:50:49
【问题描述】:
这是自托管的 RESTful MVC4 Web API,唯一的路由是api/{controller}/{state}。当我发送具有正文的 HTTP-POST 时,状态参数为空。如果我删除主体,则状态变量存在。
我认为它适用于 HTTP-POST 的方式是映射 url 参数,然后将正文序列化为额外参数,在本例中是数据参数。内容只是我必须编写自定义 MediaTypeFormatter 的字符串数据(我认为它无法处理常规字符串很奇怪)。
这是我的控制器签名
public class MyController : ApiController
{
public void Post(string state, string data)
{
}
}
以前有没有人见过这种行为,或者可以向我解释为什么存在身体会影响我的 url 参数?
【问题讨论】:
-
好吧,我可以告诉你,在 MVC3 中它的工作方式和你期望的一样。
-
当前存在一些问题,当您有一些来自正文和一些来自 url 的参数时。它们正在开发中,并将在 beta 后修复。我相信一种解决方法是使用 [FromUrl] 属性。
标签: c# http post routing asp.net-web-api