2015-01-07 31 views
1

我有一个webapi方法作为httppost,如下所示。我正在尝试使用 fiddler发出请求,但我无法获得参数对象。如果我按图中所示发送请求,则为空。我究竟做错了什么?webapi httppost发送参数作为对象

[ActionName("getCustomerByName")] 
    [HttpPost] 
    public async Task<List<Customer>> GetcustomerByName(object param) 
    { 

    } 

enter image description here

回答

1

你期望object param是?

请求主体JSON字符串是否代表Customer

如果是,请Customer的类型,而不是object

public async Task<List<Customer>> GetCustomerByName(Customer param) 

如果没有然后用相同的字段名称为您传递JSON字符串定义一个类(任何名称)和使用类代替object例如

public class QueryArgs 
{ 
    public int Id { get; set; } 
    // rest of your fields go here 
} 

public async Task<List<Customer>> GetCustomerByName(QueryArgs param) 
+0

实际原因我使用它有客户对象本身不具有的不同属性。但我的问题是一个愚蠢的错字。我刚刚发现我写的是内容类型而不是内容类型。它正常工作,当我纠正它。 :) – batmaci

+1

@batmaci足够公平,但它更清晰地在你的API上有明确定义的类,而不是使用'object' – wal