我在尋找有關我的REST JSON服務的建議。我有一個簡單的訂單,基本上做簡單的CRUD。所以基本上,除了獲得訂單的詳細信息,創建訂單和刪除訂單,我也想做一個量級以上的活動,如:簡單訂購服務的REST設計建議
- 批准訂單
- 路線以特定用戶
- 取消訂單
- 暫停順序
- 拒絕命令
- 像順序
任何人都可以分享如何擴展服務的想法。目前,我有以下類似
非常感謝您
我在尋找有關我的REST JSON服務的建議。我有一個簡單的訂單,基本上做簡單的CRUD。所以基本上,除了獲得訂單的詳細信息,創建訂單和刪除訂單,我也想做一個量級以上的活動,如:簡單訂購服務的REST設計建議
任何人都可以分享如何擴展服務的想法。目前,我有以下類似
非常感謝您
so http://myapi.com/orders/ {id}將會是單個訂單的獲得,我所見過的大多數設計師都使用複數,fyi。
我會提供在這種情況下兩個選項(最不喜歡的例子是第一個)
A.列舉了可能出現爲響應與POST方法例如 http://myapi.com/orders/123?action=APPROVE動作做查詢參數的任何行動你需要提供的數據。
**注意我不喜歡上述內容,因爲它比REST更像RPC,但它絕對可以滿足您的需求。
B.提供您的CRUD以外的行爲模式。因此您可以通過@POST,@GET等方式進行crud表單/訂單,然後爲批准操作提供/ orderActions/approve/{id}或類似於POST的內容。
所以基本上你的建議是解析與queryString相關的任何動詞。 – pakcikkantin 2013-04-26 02:53:28
是的,使用行爲模式 – fpmoles 2013-04-26 13:14:22
你沒有提到的URI你所使用的語言爲這個項目。我會推薦Ruby on Rails與state_machine寶石,這將允許您執行您的CRUD以及您希望移動訂單的額外'狀態'。
我說RoR主要是因爲它會爲您開箱,並且state_machine
寶石會完成剩下的工作。
嗨richard,感謝您的回覆,即時通訊使用服務總線來包裝我的服務。我對Ruby的瞭解不多,我也會研究一下。謝謝你的建議 – pakcikkantin 2013-04-26 02:55:38
你的模式是什麼樣的? – Marvo 2013-04-25 17:39:22