2013-08-26 59 views
1

我是REST的新手,我知道資源的概念是RESTful服務的核心。比方說,我已經創建了一個RESTful服務,它允許用戶創建/讀取/更新/刪除hashmap中的一些對象(一個對象表示CustomerOrder,它有像orderId和他們訂購的菜單列表)。REST Web服務:使服務器執行一些處理的HTTP方法

這很容易轉換爲REST,我有GET讀取命令,刪除刪除一個,POST創建一個新的和PUT更新。

但是,可以說我的應用程序有一些名爲processCustomerOrder(int orderId)的方法,它從地圖檢索訂單,並將訂單簡單地發送到處理訂單的另一個Web服務。我希望我的前端網站有一個按鈕「流程訂單」,它將調用該方法,而我的服務器將只返回一個字符串,如「訂單處理成功」。

我說得對,這應該只是另一種GET方法與不同的路徑?例如:

path=restservice/processRequest 
httpmethod=GET 
param=orderId 

還是這打破了RESTful設計的規則,因爲我實際上沒有獲取任何資源?

回答

1

當然,你可以做到這一點。在這種情況下,資源就是方法(該方法也是一種資源,因爲您可以執行一些處理,返回消息或其他實體,因此不管它的處理類型如何)。 ()。

您可能會對子資源方法定位器感興趣:http://docs.oracle.com/javaee/6/tutorial/doc/gknav.html#gklag