2017-09-21 54 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