假设我有两个实体-项目团队和员工。每个员工都可以是多个团队的一部分,每个团队可以拥有多个员工作为团队成员。 我需要提供REST API来操作团队,员工以及它们之间的关系。
我已经确定了3个资源-团队、员工和成员(团队和员工之间的关联), 成员是团队的子资源。我选择将成员作为子资源的原因纯粹基于该资源的生命周期。每当团队被删除时,成员也会被删除,因为它们在团队之外没有意义。
我公开以下API(相关的API):
- POST /teams:创建名称、部门ID等新的团队记录。 - POST /teams/{name}/members:创建标识为名称的团队和特定员工之间的关联,因此输入数据包含员工ID。
我还需要提供API来更新团队的部门ID和其他属性。看起来PUT是自然的选择,但PUT的语义非常清晰——我必须替换整个资源,这在这种情况下意味着替换所有成员子资源。
当我只想更新团队属性同时保留成员关联的时候应该使用什么方法(或方法)?请记住,我还希望这个请求是幂等的。
我已经确定了3个资源-团队、员工和成员(团队和员工之间的关联), 成员是团队的子资源。我选择将成员作为子资源的原因纯粹基于该资源的生命周期。每当团队被删除时,成员也会被删除,因为它们在团队之外没有意义。
我公开以下API(相关的API):
- POST /teams:创建名称、部门ID等新的团队记录。 - POST /teams/{name}/members:创建标识为名称的团队和特定员工之间的关联,因此输入数据包含员工ID。
我还需要提供API来更新团队的部门ID和其他属性。看起来PUT是自然的选择,但PUT的语义非常清晰——我必须替换整个资源,这在这种情况下意味着替换所有成员子资源。
当我只想更新团队属性同时保留成员关联的时候应该使用什么方法(或方法)?请记住,我还希望这个请求是幂等的。
/teams/123/members
的链接。 - Darrel Miller/teams/123
进行 PUT 操作时,是否应该省略将链接/teams/123/members
包含在请求体中,还是这会让客户端感到困惑? - oiavorskyi