You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设计基于Configuration ID查询Cluster列表的API?资源从属存疑

API设计疑问:关联资源的列表获取路径选择

我有两个独立资源:configurations 和 clusters,它们的基础API路径分别是:

/clusters
/configurations

其中clusters是通过configuration创建的。现在需要设计一个API,用来获取通过指定configuration ID创建的clusters列表。我初步考虑的实现路径是:

/configurations/{:config-id}/clusters

但我有个困惑:clusters并不是configuration的子资源,这种路径设计是否合适?


可行方案分析

方案一:保留嵌套路径

虽然clusters不是严格的configuration子资源,但从资源间的创建关联关系来看,这种嵌套路径是完全合理的。它直接传递了“获取由某个configuration创建的clusters列表”的语义,是REST API中通过关联关系组织路径的常见做法,能让调用者一眼理解接口的用途。

方案二:用查询参数过滤

如果更强调clusters作为独立资源的属性,可以在clusters的基础路径上添加过滤参数:

/clusters?configuration-id={:config-id}

这种方式明确以clusters为核心资源,通过参数筛选出符合条件的结果,适合需要突出资源独立性的场景。


选择建议

两种方案都符合REST设计规范,具体选哪种看你的API语义侧重:

  • 若想突出configuration与clusters的创建依赖关系,嵌套路径更直观;
  • 若想强调clusters作为独立资源的定位,查询参数的方式更合适。

内容的提问来源于stack exchange,提问作者Viks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:44:53