如果我有一个“比尔”实体,我可以通过REST API创建该账单实例,方法是在我创建新账单时将订购的食品分配给账单。
即。我可以通过以下参数向www.server.com/api/bills发送POST请求:
{
cost: 30.0,
foods: [23, 1, 14]
}
发送一组id是更好还是发送一个对象数组是正常做法?如下所示:
{
cost: 30.0,
foods: [
{
id: 23,
name: "Chicken Parmesan",
price: 10.0
},
{
id: 1,
name: "Scotch Fillet Steak",
price: 10.0
},
{
id: 14,
name: "Baramundi",
price: 10.0
},
]
}
答案 0 :(得分:3)
是的,发送ID完全没问题,但您要检查分配的ID是否合法。
如果您还没有ID,并且想要通过关联创建对象(或更新!) - 发送带有对象的嵌套数组是可行的方法。
另外,忘了提!
如果您要发送只是 ID,则表示您正在发送"特殊" rails field - food_ids
,Rails可以发挥魔力。这只是一个字段的更新,这是真正的REST。
如果我不需要更换或创建食物,我会选择food_ids
,如果我需要,我会选择foods_attributes
(嵌套属性)到。