2012-08-24 48 views
0

我是Web API的新手,我一直在为Get()获取多个值。我想要做的是通过查询字符串传入许多值。而不是有Get(string .., string .., so on),我决定去MVC风格,并做一些像Get(RequestModel m)。这会返回一个NullRef异常。例如:Web Api通过类获取请求

对于我的 'Web请求',我创建了一个类:

RequestModel 
{ 
    public string Req1 {get;set;} 
    public string Req2 {get;set;} 
    public string Req3 {get;set;} 
} 

控制器我的Get函数:

public ValuesController : ApiController 
{ 
    public Get(RequestModel m) 
    { 
     return m.Req1; 
    } 
} 

我的网址是:

http://localhost/api/values?Req1=test 

这可能吗?如果不是,那么做到这一点的最好方法是什么?我唯一能想到的替代方案是ParseQueryString()

回答

1

您需要明确设置[FromUri]属性如下图所示:

公众获取([FromUri] RequestModel米)

+0

啊!太容易了。谢谢! – jzm

相关问题