0

我有以下的數據模型 -處理日曆與基於數據REST

"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會(以下模擬) - 一個房間 - 對

  1. 集可用性單日
  2. 一套空房多天一次

- 由SEL一次性從日曆中提取日期。

enter image description here

去主/唯一鍵我可以考慮庫存每天爲資源,併發出多個崗位/把每一天的電話。但是發出多個請求可能會矯枉過正。

我們在客戶端/服務器端的Django Rest框架上使用Ember Data REST適配器。

是否有任何建議的REST模式來處理這種基於時間/天的數據?

在此先感謝。

回答

0

Inventory作爲可編輯資源的概念在這裏似乎有點反模式。我認爲Inventory在邏輯上是由一個或多個Reservation資源的存在決定的,這意味着Inventory是不可變的(因爲它在邏輯上應該是)並且只存在,所以您不必將所有的預留客戶端 - 方(不應該允許),並從那裏確定可用性。

所以我的建議是創建一個具有room_idstart_dateend_date一個Reservation模型,任何GET庫存只是返回所請求日期範圍可用性的要求。這消除了完全需要多個更新。

+0

不幸的是,我們無法從預訂數量中獲得可用性 - 用戶可以自由設置任意數量的可用性。我添加了一個模擬來更好地解釋用例。 –

+0

在這種情況下,我可以建議的唯一約定是JSON修補程序(https://tools.ietf.org/html/rfc6902)或創建可有效處理您的用例的自定義批處理端點。有些人迴避了JSON補丁RFC,因爲他們認爲它不起作用,並且額外的複雜性不能保證它的使用,而只是提出多個請求......但是我相信你可以對此形成自己的看法。 – mpowered