在我的应用我有平局的概念,并绘有总是被包含在订单中。
平局有一组属性: background_color, font_size, ...
引用著名的REST的论断:
可名可以是一个资源的任何信息:文档或图像,时间服务(例如,“今天的天气洛杉矶”),其他资源的集合,非虚拟对象(例如人),等等。
所以,我的其他资源的收集这里将是一个订单。 订单是一组绘制(通常超过十万)。 我希望让用户创建一个订单与几个绘制,这里是我的第一种方法:
{
"order": {
"background_color" : "rgb(255,255,255)", "font_size" : 10,
"draws_attributes": [{
"background_color" : "rgb(0,0,0)", "font_size" : 14
}, {
"other_attribute" : "value",
},
]
}
}
为了对此作出回应是这样的:
"order": {
"id" : 30,
"draws": [{
"id" : 4
}, {
"id" : 5
},
]
}
}
因此用户会知道哪些资源已在数据库中创建。 然而,当有许多借鉴的要求,因为所有这些画被插入到数据库中,反应需要一段时间。 试想一下,做10.000插入如果订单10.000平局。
因为我需要给用户的是刚刚创建的(顺便说一句,创建,但还没完,因为当订单已处理我们真正建立了一些图像处理库绘图)平局的ID,以便他们可以在以后获取它们,我看不出如何处理这个REST方式,避免使HTTP请求采取了很多时间,但在同一时间,使用户的某种标识为平局,让他们可以在以后获取它们。
你如何应对这种情况?