c# - ASP MVC 即使未提供任何参数也创建参数模型

标签 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)  

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

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

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

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

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

感谢您的任何建议。

最佳答案

有空传播运算符:

filter = filter ?? new MyParameters();

或者您可以实现自己的模型绑定(bind)器/模型绑定(bind)器提供程序。作为起点,您可以引用 this .

关于c# - ASP MVC 即使未提供任何参数也创建参数模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46338697/

相关文章:

c# - 手动附加后 EF 解析导航属性

c# - 如何在 ASP.NET MVC 模型验证中检查字符串是否包含 HTML 代码?

javascript - 使用 ajax 读取元素 innerhtml 并将其传递给 Controller ​​?

javascript - Chrome 会自动将我的 mvc View 滚动到顶部

javascript - JSON 响应 Long 被舍入或损坏

c# - 在C#中将二进制字符串转换为整数数组

c# - 未显示窗体时,窗体的保存位图/"screenshot"不起作用

c# - 如何绑定(bind)剑道网格

asp.net - 如何使 ASP.NET Webforms 应用程序可测试?

c# - MySQL ODBC 存储过程结果缺少列