【发布时间】:2017-11-27 11:17:38
【问题描述】:
我们应用程序的后端公开了接受 IEnumerable 的 web api。以下是示例定义:
[HttpGet]
public HttpResponseMessage Get(int? id = null, [FromUri]IEnumerable<string> category = null)
我正在手动创建带有查询参数的 URL,如下所示:
category=category1&category=category2
..并将其附加到实际 URL 以获得结果。
有没有更好的方法将类别列表添加为查询参数而不是手动创建 url?将字符串数组传递到 URI 中的端点的最佳方法是什么?
【问题讨论】:
-
试试
/foo/id=123?category=category1&category=category2(注意?在123之后) -
端点中的所有参数都是可选的。我错过了添加。请查看编辑。
-
one way。或者您可以发帖,因为您可能会达到 2048 个字符的限制。或者你可以有一个带分隔符的参数。
-
@lloyd:按照您的建议,我将不得不要求 backedn 团队更改端点,因为它必须接受来自标头的参数,这目前是不可能的。
标签: c# arrays asp.net-web-api httpclient