2013-11-22 135 views
0

比方說,我有一個組件作爲業務操作執行添加。 我不需要總和的結果在任何地方被持久化,因爲我們說,唯一重要的是加法的結果。將計算建模爲Web資源(REST資源)可以嗎?

假設客戶端組件應該對保存添加的結果感興趣,所以我需要指示客戶端如何保存添加的結果,以便他稍後可以返回並檢索此結果。

可以將添加服務建模爲Web資源嗎?喜歡的東西:

GET api.mycompany.com/addition?param1=x&param2=y 

應該返回業務操作的結果。響應可能會顯示以下鏈接(這裏是超媒體)以堅持結果:

POST api.mycompany.com/addition?param1=x&param2=y 

此方法是否正確? - 在一個真正寧靜的API的意義 -

回答

0

考慮CRUD操作,這一個:

GET api.mycompany.com/addition?param1=x&param2=y 

是冪等,安全緩存,所以我會認爲這是一個RESTful GET。 只要您的參數變得更加複雜,您可以將它們發佈到您的「添加」資源,並將URL返回到計算結果。

0

是的,沒關係。但也許最好有一個名爲operation的資源返回支持操作的鏈接列表。然後你可以有operation/addition?param1=x&param2=y等等堡壘。當然,這些鏈接應該是不透明的,通過調用operation資源返回的文檔媒體類型應提供有關其他可用資源的信息。

+0

謝謝Vicin。你相信url中的動詞嗎? – juanpavergara

+0

我認爲,如果他們確定了一種資源,他們就可以,但總的來說,我會迴避他們。也就是說,上面的'add'應該是'addition';我會修改我的答案。 –