如何在ASP中拥有可选的请求模型属性.. NET Web API 2

本文关键字:属性 模型 请求 NET Web API ASP 拥有 | 更新日期: 2023-09-27 18:04:49

我正在写一个ASP。. NET Web API 2项目。我已经创建了一个请求模型,其中包含将作为API输入的属性。对于GET请求,我枚举方法参数列表中的属性,对于POST请求,我将request对象作为唯一参数。

我如何在我的请求对象中指定可选属性?我想将"Count"指定为请求模型的可选参数。这能奏效吗?

对于POST方法:

class Request{
public int id {get;set;}
public int? Count{get;set;}
}

对于GET方法:

public Response MyActionMethod(int id, int? Count)

如何在ASP中拥有可选的请求模型属性.. NET Web API 2

在发布问题之前,你没有自己尝试过吗?

是的,这就够了。更合适的例子:

[HttpPost]    
virtual object Foo([FromBody] Request req);
// query parameters (as object)
[HttpGet]
virtual object Foo([FromUri] Request req);
// query parameters (as arguments)
[HttpGet]
virtual object Foo(int id, int? count = null);
//uri + query parameters
[HttpGet]
[Route('/path/:id')]
virtual object Foo(int id, int? count = null);

可以用int代替int?,然后0是对象Request的默认值,对于方法参数,您应该自己设置默认值int count = 0