2010-09-07 22 views
1

我對於與其他question類似的RESTful資源有疑問。REST式問題

我們也在開發一個iphone應用程序,它將訪問REST服務,但其中一個擔心是第一個屏幕會對服務進行幾次調用,並且它應該只是一個(資源的一部分)。

我試圖儘可能保持RESTful服務,所以我想知道如何訪問它的清潔。

我正在考慮將iphone(或任何其他設備)作爲資源,並且此dto是屬性。該URI將是這樣的:

example.com/rest/Device/iphone/HomeScreen 

會這樣的事情是可以接受的還是有更好的解決方案嗎?

感謝 託尼

回答

1

你在做什麼恕我直言是完全可以接受的。當您的資源更專注於客戶端UI的需求時,REST原則更容易應用。

我做完全型的事,你正在做的:

http://myserver.com/desktop/{dataset}/shell 
http://myserver.com/shopclient/{dataset}/login 
http://myserver.com/mobile/{dataset}/home 
1

我會說,如果你能捲起所有想要通過線路和名稱推它的東西是有意義的數據,這可能是比目前你更好有。

不管你最終會調用這個結構,我稱之爲「富」,爲example.com/rest/foo的GET會返回

我同意限制的繁瑣是很重要的應用程序,因爲你擁有應用程序和服務,可能沒有人會使用你的服務。

0

iPhone就像一個特殊的客戶端,它需要以特殊的方式格式化輸出(比如AJAX有時需要JSON)。

所以我建議你保持URL儘可能短:

example.com/rest/HomeScreen 

現在你有你確定你的控制器,格式要求(HTML,JSON,iphone)。您可以通過確定用戶代理或者通過附加擴展像這樣做:

example.com/rest/HomeScreen.iphone 
example.com/rest/HomeScreen.html 
example.com/rest/HomeScreen.xml 

0

我不會設計一個主屏幕資源(感覺很前端專用)。你家庭顯示器是什麼?我寧願將在HomeScreen上顯示的模型作爲HomeScreen模型本身公開。

我們有iphone應用程序使用REST API調用多個資源(多個調用)。該應用程序感覺非常快,因爲使用了「性能提升」(緩存,控制有效負載大小,壓縮)。

關於內容協商,我認爲iPhone的互操作格式就足夠了(json或xml)。移動設備然後可以渲染這個模型如何喜歡。