2017-09-21 29 views
1

我创建一个RESTful API与ASP.Net MVC
有一个GET路线问题的模型。我创建了一个参数模型来处理所有接收参数。ASP MVC创建参数,即使任何参数未提供

public class MyParameters : BaseParameters 
{ 
    public string ProductCode { get; set; } 
    ... 
} 

并且以这种方式使用这个类:

public HttpResponseMessage Get([FromUri] MyParameters filter) 

问题是,当我不传递任何参数 - 不被初始化的过滤器对象。它始终为空。
但我需要这个对象进行初始化无论如何,因为有一些默认的参数,如国旗,我在构造函数初始化。

public MyParameters() 
    { 
     AuthFlag = 'Y'; 
    } 

我知道这是默认的行为,但我不想做这样的事情:

if (filter == null) 
     filter = new MyParameters(); 

也许有可进行参数反正对象创建的任何配置?

谢谢你的任何建议。

回答

5

有空传播运营商:

filter = filter ?? new MyParameters(); 

,或者你可以实现自己的模型绑定/模型粘合剂供应商。作为出发点,您可以参考this