【发布时间】:2017-11-14 19:57:50
【问题描述】:
我需要开发一个新的 Web API GET,它将具有多个可选参数以及 2 个非可选参数。可选参数可以有多个相同名称的值。例如,以下参数可以通过一次 api 调用同时具有多个值: 状态、PaymentType、PaymentSource。
非可选参数是 FromDate 和 ToDate。
可选参数将由用户从前端 UI 列表框中选择的值填充。例如,状态列表框将所有状态列为可选选项。因此,如果用户选择 10 个状态,那么 API 的可选 State 参数需要包含所有 10 个状态作为该参数的值。其他可选参数也是如此。
我以前从未这样做过,所以我不确定如何或是否可以这样做。我使用过的所有 API 的每个参数只有一个值。如何以这种方式创建我的 API 的这些参数?它们应该是一个列表吗?
【问题讨论】:
-
为什么不对每个列表框使用单独的参数?
-
每个参数都有自己的关联列表框。因此,例如 State 将是一个包含 50 个可能值的列表框,可以在 State 参数中传递给 API。我的问题是如何为 State 参数传递 0 - 50 个可能的值。
-
您是否尝试过使用列表?
-
在做了更多研究之后,我相信我需要将我的设计更改为 HTTP Post API,以便我可以在请求正文中传递复杂类型。似乎 GET 的 uri 中只允许使用原始类型。
标签: c# api get optional-parameters