Url ASP.NET Web API 2 上没有值的查询参数
Url query parameter with no value on ASP.NET Web API 2
这是我的控制器对 POST api/foo?bar=true
请求的操作:
[HttpPost]
[Route("api/foo")]
public async Task<HttpResponseMessage> Update(bool bar)
{}
它工作正常,但是当我尝试对 POST api/foo?bar
等没有值的查询参数执行相同操作时,上面的操作不起作用并返回此消息:
The parameters dictionary contains a null entry for parameter
'bar' of non-nullable type 'System.Boolean' for method 'System.Threading.Tasks.Task`[System.Net.Http.HttpResponseMessage]
Update(Boolean)' in
'Foo.Controllers.FooController'. An optional parameter
must be a reference type, a nullable type, or be declared as an
optional parameter.
如何让 POST api/foo?bar
之类的请求进入 Update()
行动?参数的可选 parameter/Other 类型?
欢迎任何帮助!谢谢。
已解决!
使 参数可为空 离开这样的操作:
[HttpPost]
[Route("api/foo")]
public async Task<HttpResponseMessage> Update(bool? bar)
{}
这是我的控制器对 POST api/foo?bar=true
请求的操作:
[HttpPost]
[Route("api/foo")]
public async Task<HttpResponseMessage> Update(bool bar)
{}
它工作正常,但是当我尝试对 POST api/foo?bar
等没有值的查询参数执行相同操作时,上面的操作不起作用并返回此消息:
The parameters dictionary contains a null entry for parameter 'bar' of non-nullable type 'System.Boolean' for method 'System.Threading.Tasks.Task`[System.Net.Http.HttpResponseMessage] Update(Boolean)' in 'Foo.Controllers.FooController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
如何让 POST api/foo?bar
之类的请求进入 Update()
行动?参数的可选 parameter/Other 类型?
欢迎任何帮助!谢谢。
已解决!
使 参数可为空 离开这样的操作:
[HttpPost]
[Route("api/foo")]
public async Task<HttpResponseMessage> Update(bool? bar)
{}