api-design - API 设计:跨资源层次的级联更新
问题描述
给定一组层次结构的资源,更新一个资源可能会产生级联层次结构的影响。举个例子,一个由联赛、球队和球员组成的层次结构,每个联赛有很多球队,每个球队有很多球员。
每个资源(联赛、球队或球员)都有一个开/关开关,如果它自己的开关和其父资源的开关都打开,则被认为是活动的。例如,如果玩家、他们的球队和球队的联赛都处于开启状态,则认为该球员是活跃的。
API 不是在客户端中实现活动/非活动逻辑,而是将其作为每个资源的计算字段提供。当客户端打开/关闭资源时,他们不仅需要该资源的新表示,还需要其子(和孙子等)的新表示。
例如,当客户端关闭团队时,API 以更新后的团队表示进行响应,包括其所有玩家的更新表示,并且客户端应相应地更新其视图。
就 API 最佳实践而言,这是处理此类资源层次结构的正确方法吗?
解决方案
推荐阅读
- episerver - Episerver – 为什么要绕过属性设置器?
- html - 无法在我的网页中放置背景图片
- r-markdown - Rmarkdown:是否可以仅在标签集中显示当前标签的目录
- android - 防止改造查询参数被转义
- php - 如何在 Web 应用程序中存储选项列表
- magento2 - 在可配置中显示缺货色板(Magento 2.2.6)
- c# - lamda中的linq如何将其转换为正确的方式
- php - 如何将输入(onchange)中的文本写入 PHP/HTML 中的数组?
- go - 修改要编组为 JSON 的数据
- ruby-on-rails - 运行 rake db:schema:load 时出现“致命:角色“root”不存在”