可以通过web api传递整数列表,或者我必须使用字符串参数

Bla*_*ell 6 c# asp.net asp.net-web-api asp.net-web-api2 asp.net-core-1.0

我有一个场景,我需要在GET请求中向我的Web API发送多个ProductIds.

在我的asp.net web api控制器中有一种方法可以让我的Action方法的参数类型化List<int> productIds.我假设不,我必须像这样传递它们?ProductIds = 1,2,3然后接受它string productIds.

如果有更好的方法,请告诉我.

Rio*_*ams 5

您可以指示您将接受a int[]作为参数,Web API应该按照预期处理将逗号分隔的字符串映射到数组.您可能需要包含该[FromUri]属性,以使Web API知道您期望查询字符串中的这些值:

public IEnumerable<Product> GetProducts([FromUri] int[] ProductIds)
{
      // Your code here.
}
Run Code Online (Sandbox Code Playgroud)

您还可以通过以下方式指示多个值映射到相同的querystring参数:

?ProductIds=1&ProductIds=2&ProductIds=3...
Run Code Online (Sandbox Code Playgroud)