WebApi从Uri绑定到具有IEnumerable <int>的丰富模型

时间:2015-08-25 12:48:59

标签: c# asp.net-web-api2

型号:

public class TestModel
{
    public int Id { get; set; }
    public int[] Clients { get; set; }
}

控制器:

public string Get([FromUri]TestModel model)
{
    return "";
}

此请求按预期工作:localhost/get?id=5&clients=1&clients=2
- &GT;客户端绑定为具有2个元素(1&amp; 2)

的数组

但是这个请求很奇怪:localhost/get?id=5&clients=
- &GT;客户端绑定为具有1个元素(0)的数组

空数组或null都可以接受int[] {0}

1 个答案:

答案 0 :(得分:1)

我怀疑这在技术上是无效的网址:

localhost/get?id=5&clients=

这可能会使模型绑定器混乱。它试图将某些放在clients属性中。由于clientsint[]int的默认值是0,所以,你可以去。

要保持数组为空,只需完全省略该值:

localhost/get?id=5