使用REST处理基于日历的数据
我有以下数据模型-使用REST处理基于日历的数据,rest,ember.js,ember-data,django-rest-framework,restful-architecture,Rest,Ember.js,Ember Data,Django Rest Framework,Restful Architecture,我有以下数据模型- "Room": "id": 1 "name": "Deluxe" "description": "A big room" ... "Inventory": "room_id" : 1 "date" : "27/04/2015" "availability" : 10 //Given a date the number of rooms available UI的用例如下所示: 要一个房间- 设置一天的可用性 一
"Room":
"id": 1
"name": "Deluxe"
"description": "A big room"
...
"Inventory":
"room_id" : 1
"date" : "27/04/2015"
"availability" : 10 //Given a date the number of rooms available
UI的用例如下所示:
要一个房间-
设置一天的可用性
一次设置多天的可用性
-通过一次性从日历中选择日期
去主键/唯一键,我可以考虑一天的库存作为资源,并发布多个POST / PUT调用的每一天。但发出多个请求可能有点过头了
我们在客户端使用Ember数据REST适配器,在服务器端使用Django REST框架
是否有任何建议的休息模式来处理这种基于时间/日期的数据
提前感谢。库存作为可编辑资源的概念在这里似乎有点反模式。我认为库存在逻辑上是由一个或多个预订资源的存在决定的,这意味着库存是不可变的,因为它在逻辑上应该是不变的,并且只存在,所以您不必从客户端提取所有不应该被允许的预订,并从那里确定可用性
因此,我的建议是创建一个预订模型,该模型具有room_id、start_date和end_date,任何GET库存请求都只返回请求日期范围的可用性。这完全消除了多次更新的需要。不幸的是,我们无法从预订数量中获得可用性-用户可以自由将可用性设置为任意数量。为了更好地解释用例,我添加了一个mock。在这种情况下,我可以建议的唯一约定是JSON补丁或创建一个能够有效处理用例的自定义批处理端点。有些人对JSON补丁RFC避而远之,因为他们认为它不合适,而且与只发出多个请求相比,额外的复杂性不足以保证它的使用。。。。但我相信你能形成自己的观点。