API设计 - 在请求中多次传递相同的请求参数

时间:2014-03-17 15:34:46

标签: web-services api rest

我正在设计一个API,并且想知道处理多次可能包含相同请求参数的请求的最佳做法是什么。 (例如/ resource?paramA = XYZ& paramA = ABC& paramB = DEF)值是否应该作为单个列表,或者这不应该是有效请求,还是最后一个获胜等等?任何帮助将受到高度赞赏。感谢。

2 个答案:

答案 0 :(得分:2)

我认为答案很大程度上取决于背景。

例如,如果用户想要获取:

/photo?member=John&member=Alice

它可能被视为有效请求,即用户尝试与John和Alice合影。

但是如果用户想要获取:

/photo?type=monochrome&type=mulitcolor

它应被视为无效请求,因为照片不能同时是单色和多色。

答案 1 :(得分:1)

通常,您描述的样式用于在同一查询参数下提交多个值,我认为您将其描述为“单个列表”。我不明白为什么你不会原样接受它。如果该查询参数不允许多个值,则API应响应4xx指示问题。