ASP MVC即使没有提供任何参数,也可以创建参数模型

时间:2017-09-21 08:09:57

标签: c# asp.net asp.net-mvc rest

我正在使用ASP.Net MVC创建RESTful API 有一个GET路线有问题。我创建了一个参数模型来处理所有接收参数。

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

以这种方式使用这个类:

 public HttpResponseMessage Get([FromUri] MyParameters filter)  

问题是当我没有传递任何参数时 - 过滤器对象没有被初始化。它始终为空 但我还是需要初始化这个对象,因为有一些默认参数,比如flags,我在构造函数中初始化。

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

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

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

也许是否有任何配置可用于创建参数对象?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:5)

有空传播运算符:

filter = filter ?? new MyParameters();

或者您可以实现自己的模型绑定器/模型绑定器提供程序。作为起点,您可以参考this