2013-04-25 45 views
0

我在尋找有關我的REST JSON服務的建議。我有一個簡單的訂單,基本上做簡單的CRUD。所以基本上,除了獲得訂單的詳細信息,創建訂單和刪除訂單,我也想做一個量級以上的活動,如:簡單訂購服務的REST設計建議

  • 批准訂單
  • 路線以特定用戶
  • 取消訂單
  • 暫停順序
  • 拒絕命令
  • 像順序

任何人都可以分享如何擴展服務的想法。目前,我有以下類似

http://myapi.com/order/

非常感謝您

+0

你的模式是什麼樣的? – Marvo 2013-04-25 17:39:22

回答

1

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的內容。

+0

所以基本上你的建議是解析與queryString相關的任何動詞。 – pakcikkantin 2013-04-26 02:53:28

+0

是的,使用行爲模式 – fpmoles 2013-04-26 13:14:22

0

你沒有提到的URI你所使用的語言爲這個項目。我會推薦Ruby on Rails與state_machine寶石,這將允許您執行您的CRUD以及您希望移動訂單的額外'狀態'。

我說RoR主要是因爲它會爲您開箱,並且state_machine寶石會完成剩下的工作。

+0

嗨richard,感謝您的回覆,即時通訊使用服務總線來包裝我的服務。我對Ruby的瞭解不多,我也會研究一下。謝謝你的建議 – pakcikkantin 2013-04-26 02:55:38