當我在MVC控制器如何將Json參數綁定到ASP.NET中的Web Api參數?
[HttpPost]
public async Task<ActionResult> MyMethod(int param1, string param2)
{
//....
}
這種方法我可以送一個JSON對象{param1:1, param2:"str"}
只是正常工作和參數都解決了。但是,當我爲WebApi 2執行此操作時不起作用。由於[FromBody]
只能按文件中的以下示例使用1個參數。
At most one parameter is allowed to read from the message body
// Caution: Will not work!
public HttpResponseMessage Post([FromBody] int id, [FromBody] string name) { ... }
如何從WebApi控制器獲得相同的MVC控制器行爲?
編輯:創建相應的類和替換參數不是一個選項,因爲消息傳遞工具會檢查這些方法以進行維護。簽名應該保持不變。
您編輯提供不可能的任務 - 最多一個參數可以從正文讀取爲:「此規則的原因是請求正文可能存儲在一個只能讀取一次的非緩衝流「。 –
@VadimLevkovsky你是絕對正確的。但是,由於簽名保持不變,我只是讓方法同時接受GET和POST。當我們用URL中的參數發送GET時,它就起作用了。 – ozgur
無法做到這一點是無效的 – Ewan