REST API事务性更新一对一关联资源的最优方案咨询
REST API事务性更新关联资源的最优方案选择
我维护的REST API包含多类资源,现在遇到一个场景:需要事务性更新两个一对一关联的资源(以users和houses为例)。要遵循REST API设计规范,同时尽可能降低出错风险,请问以下两种方案哪种更优?
方案1:单端点事务更新
定义一个统一端点,同时接收user和house数据并执行事务更新:
PUT BASE/users/houses/update
请求体:
{ "user": {...}, "house": {...} }
方案2:独立端点分别更新
为两个资源各定义独立的更新端点,分别处理资源更新和错误:
PUT BASE/users/:id
请求体:
{ ... }
PUT BASE/houses/:id
请求体:
{ ... }
最终采用的方案
基于建议,我定义了名为landlords的虚拟资源来实现事务性更新,端点如下:
PUT BASE/landlords
请求体:
{ "user": {...}, "house": {...} }
内容的提问来源于stack exchange,提问作者Mehdi
相关产品推荐
相关产品推荐

