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)
{}