REST获取查询参数建议

REST获取查询参数建议,rest,get,query-parameters,Rest,Get,Query Parameters,我可能会让这个问题变得更加复杂,但我想知道GET端点搜索一个或多个资源实体的“良好实践”是什么。我还想让它们“全部”变得容易。在上下文中,我希望人们能够查找与productId相关的详细信息,productId可以位于多个(300-400和不断增长的)位置。对于少数几个位置来说,这并不是一个过度繁重的操作,但如果用户想要所有相关位置都回来,那么这可能是一个昂贵的api调用 以下哪一个最好 使用列表指定哪些位置,如果未提供,则假定为“所有位置” /product/{productId}/searc

我可能会让这个问题变得更加复杂,但我想知道GET端点搜索一个或多个资源实体的“良好实践”是什么。我还想让它们“全部”变得容易。在上下文中,我希望人们能够查找与productId相关的详细信息,productId可以位于多个(300-400和不断增长的)位置。对于少数几个位置来说,这并不是一个过度繁重的操作,但如果用户想要所有相关位置都回来,那么这可能是一个昂贵的api调用

以下哪一个最好

使用列表指定哪些位置,如果未提供,则假定为“所有位置”

/product/{productId}/search?locations=[1,2,3]
创建allLocations查询参数以指定用户希望查看所有位置

/product/{productId}/search?allLocations=True
  • 首先,可以在数组的内部使用逗号分隔的值
?位置=1,2,3
//然后在后端,您可以分解/拆分它,这将更容易。
  • 为了获得最佳实践,当
    location
    query参数为空或不可用时,从所有位置获取结果
  • 为了降低API调用的成本,您可以一次限制所选位置的数量

谢谢!那很有帮助,不客气。很乐意帮忙!