首页 > 解决方案 > API 设计:跨资源层次的级联更新

问题描述

给定一组层次结构的资源,更新一个资源可能会产生级联层次结构的影响。举个例子,一个由联赛、球队和球员组成的层次结构,每个联赛有很多球队,每个球队有很多球员。

每个资源(联赛、球队或球员)都有一个开/关开关,如果它自己的开关和其父资源的开关都打开,则被认为是活动的。例如,如果玩家、他们的球队和球队的联赛都处于开启状态,则认为该球员是活跃的。

API 不是在客户端中实现活动/非活动逻辑,而是将其作为每个资源的计算字段提供。当客户端打开/关闭资源时,他们不仅需要该资源的新表示,还需要其子(和孙子等)的新表示。

例如,当客户端关闭团队时,API 以更新后的团队表示进行响应,包括其所有玩家的更新表示,并且客户端应相应地更新其视图。

就 API 最佳实践而言,这是处理此类资源层次结构的正确方法吗?

标签: api-design

解决方案


推荐阅读