使用RESTFUL PUT,如何更新(或通知)父/子实体?

时间:2013-10-14 21:03:31

标签: rest put object-graph

举个简单的例子,我将使用轮胎和汽车。我打算执行一个PUT来提高轮胎的价格。用户界面还包含使用轮胎更新的汽车,因此需要更新自己的价格。

原始PUT请求是否适合在其响应中包含汽车定价?如果没有,这通常是如何解决的?

1 个答案:

答案 0 :(得分:2)

更新PUT价格的/tire应绝对返回更新其他资源(例如/car)的详细信息。这样做会使两个实体混合在一起,使您的资源表示过于复杂。它还会使客户难以对个别资源进行“原子”更新。

PUT响应应该只告诉您/tire资源上的更新是否成功,并且可能在响应内容中提供轮胎的新表示。一旦PUT轮胎召回返回,客户(您的用户界面)可以再次GET /car,并且会看到考虑到整体车辆的新价格新的轮胎成本。