這是自託管的RESTful MVC4 Web API,唯一的路由是api/{controller}/{state}
。當我發送一個具有body的HTTP-POST時,state參數爲空。如果我刪除身體狀態變量存在。當HTTP-POST有正文時,url參數爲空
我認爲它適用於HTTP-POST的方式是url參數被映射,然後身體被序列化爲額外的參數,在這種情況下是數據參數。內容只是字符串數據,我不得不寫一個自定義MediaTypeFormatter(我認爲它是奇怪的,它不能處理一個普通的字符串)。
這裏是我的控制器簽名
public class MyController : ApiController
{
public void Post(string state, string data)
{
}
}
有沒有人見過這種行爲之前,或者爲什麼具有主體目前是影響我的網址參數能向我解釋?
那麼,我可以告訴你,在MVC3它的作品就像你期望的那樣。 – CrazyDart 2012-03-15 23:02:54
目前有一些問題,當你有一些params來自身體和一些來自url。他們正在進行工作,並將在beta版後修復。我相信一個解決方法是使用[FromUrl]屬性。 – 2012-03-16 12:24:41