假设我正在构建一个处理预约的API。一个预约由医生、患者和一组关心组成。
如果我想创建一个预约,POST数据应该长什么样子?请注意,只有预约会被创建,医生、患者和关心条目已经存在于数据库中。
我有两个选项:
短的版本
{
doctor_id: 8,
patient_id: 4,
cares_ids:
[1,7]
}
更长的一个
{
doctor: {
id: 8,
name: 'Dr James Brown',
phone: '107-102-304',
address: '16th avenue'
},
patient: {
id: 4,
name: 'Mr Elvis',
pathology: 'Blah Blah.'
},
cares:
[
{
id: 1,
name: 'Dental cares'
},
{
id: 7,
name: 'Back pain'
}
]
}
第一个选项感觉更加简洁,因为我们不会发送无用的数据,如姓名和地址等。但第二个选项在我的前端代码中更加自然/语义化。
例如,在我的应用程序中,我只需要执行以下操作:
appointment.doctor = selected_doctor
// Instead of doing
appointment.doctor_id = selected_doctor.id
有没有关于这种情况的 RESTful 最佳实践?