3

随着ApiController子类,它具有在Post方法将其绑定到一个现有的模型对象的能力如如何从ASP.NET MVC Web API发布获取原始JSON字典?

public class RegisterController : ApiController 
{ 
    public void Post(Product product) 

但如果传入的JSON数据包含我将使用以创建多个模型对象数据,我怎样才能直接获取数据?

public void Post(dynamic value) 

将值返回为空。有没有像request.POST ['name']之类的简单的简单方法?

假设数据的模样

{ 
    'productID':1, 
    'productName':'hello', 
    'manufacturerID':1, 
    'manufacturerName':'world' 
} 

回答

6

一种选择,可以使用的ReadAsAsync *方法之一HttpContent实例关闭Request对象

public void Post() { 
    var result = this.Request.Content.ReadAsAsync<string>().Result; 
} 

我不知道是什么格式的你正在发送你的数据,但你可以这样检索它。

你可以试试这个太多个对象...

public void Post(IEnumberable<Product> products) { 

} 
+1

啊,这是我错过了。关键是不要在Post()中放置任何参数,否则它会尝试绑定并且ReadAsAsync将返回空 – xster