我有一个带有以下 GET 方法的 WebAPI 2 ApiController:
public IEnumerable<MyData> Get([FromUri]string[] id, [FromUri]string[] filter, int? count)
我的 http 请求如下所示:
http://localhost/myapp/api/mycontroller?id=123&id=456&filter=A&filter=B&count=5
而生活是美好的。但这是我遗漏的地方。以下查询字符串也有效:
http://localhost/myapp/api/mycontroller?id=123&id=456&count=5
请注意,filter
缺少该参数。不是问题。但这失败了:
http://localhost/myapp/api/mycontroller?id=123&id=456&filter=A&filter=B
该count
参数似乎是必需的,即使它被标记为可为空。如果我只是将它重新添加而没有任何值,它会再次起作用,即使filter
orid
参数被完全忽略。
这对我来说似乎很奇怪,这是怎么回事?