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

Possible to pass a list of integer through web api or do I have to use a string param

我有一个场景,我需要在 GET 请求中将多个 ProductId 发送到我的 Web API。

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

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

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

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

您还可以通过 :

指示多个值映射到同一个查询字符串参数
?ProductIds=1&ProductIds=2&ProductIds=3...