如何为REST post表示复杂资源?
你好,目前我有一个应用程序,当用户点击“保存”时,它会遍历所有表单元素并创建一个管理以下内容的大型对象:
var = params = [{
attributes1: form1.getValues(),
attributes2: form2.getValues(),
.. ..
}];
我通过RPC POST将这个大型对象发送到我的“实体”模型服务,我希望为其持久化数据的实体非常复杂。总体而言,数据分散在约30个表中。为了解释我的实际问题,这个“实体”是一个建筑物(如物业/房屋/公寓)。我想要的是将我的混乱转变为用于保存属性的RESTful API。我面临的问题是,对于跨越单个表的单个模型保存细节是可以的。但是,当模型具有:
- 多对多关系 - 一对多关系 - 一对一关系
时,如何构造我的数据对象进行传输?
例如:
以下是我可能在一个属性上拥有的内容和示例数据的简化版本。
propertyId: 1,
locationId: 231234,
propertyName: "Brentwood",
kitchenFeatures: [
{ featureId: 1, details: "Induction hob"},
{ featureId:23, details: "900W microwave"}
],
propertyThemes: [ 12,32,54,65 ]
实际上还有更多细节,但你可以大致了解。 kitchenFeatures
是一个典型的多对多关系的例子,我有一个包含所有特征的 featuresTable
表格:
`featureId`, `feature`
1 "Oven Hob"
23 "Microwave"
而 propertyThemes 就是另一个多对多关系的例子。
我应该如何组织我的“对象”发送到 RESTful 服务中?这可能吗?
例如,如果我想要保存这个属性,我会将其发送到:
http://example.com/api/property/1