ApiController操作无法从querystring解析数组

本文关键字:数组 querystring 操作 ApiController | 更新日期: 2023-09-27 18:29:45

使用Visual Studio 2012.2,MVC4 web应用程序。

我的ApiController收到了这样的请求:

http://localhost/api/keys?ids[]=1&ids[]=2&ids[]=3

我的印象是,以下方法应该能够自动从ids[]数组中检索值:

public KeysModel Get(int[] ids){...}

但是,当收到像上面这样的请求时,"ids"参数的值为null。

我已经检查了HttpContext.Current.Request.QueryString是否具有id的值,我可以通过这种方式获取它们,但这会使单元测试更加困难。

我还尝试过使用List ID、[FromUri]、[FromUri(Name="ids[]")]、对象ID和字符串ID(有趣的是…当ID是字符串变量时,其中的值是"(Collection)"

ApiController操作无法从querystring解析数组

结果是:

public KeysModel Get([FromUri]int[] ids){...}

毕竟是答案。

不知道我以前在做什么。。。