我正在使用ASP.Net MVC创建一个RESTful API
有一个GET路由有问题.我创建了一个参数模型来处理所有接收参数.
public class MyParameters : BaseParameters
{
public string ProductCode { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式使用这个类:
public HttpResponseMessage Get([FromUri] MyParameters filter)
Run Code Online (Sandbox Code Playgroud)
问题是我没有传递任何参数 - 过滤器对象没有被初始化.它始终为空.
但我还是需要初始化这个对象,因为有一些默认参数,比如flags,我在构造函数中初始化.
public MyParameters()
{
AuthFlag = 'Y';
}
Run Code Online (Sandbox Code Playgroud)
我知道这是默认行为,但我不想做这样的事情:
if (filter == null)
filter = new MyParameters();
Run Code Online (Sandbox Code Playgroud)
也许是否有任何配置可用于创建参数对象?
谢谢你的任何建议.
有零传播运算符:
filter = filter ?? new MyParameters();
Run Code Online (Sandbox Code Playgroud)
或者您可以实现自己的模型绑定器/模型绑定器提供程序.作为起点,您可以参考这个.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |