2011-09-01 24 views
4

訪問用戶的一個實例在寧靜的網絡服務爲示於下面的捲曲請求中的URL的結構:如何指定範圍的數據或多個實體的一個RESTful web服務

捲曲 - v -X GET -s「$ BASE_URL/User/$ {customer_id} .json」

如果我想通過一系列用戶實體(例如我的數據庫中的前50位用戶)指定所有用戶實體或頁面,我如何構建我的請求,以便它符合REST?

回答

12

您應該首先嚐試去強調URI中字符的含義。雖然漂亮,漂亮和可讀的URI是一件好事,但它們與REST無關 - 實際上,通過將所有URI更改爲無意義的字符串來判斷RESTful接口的設計是一個很好的練習,並且之後添加可愛的字符。客戶端永遠不應該知道服務器的URI結構,原因很簡單,因爲服務器之後將無法更改它。

接下來,如果客戶列表對您而言是一個有意義的概念,您應該通過一切手段將其變爲自己的權利資源。在其表示中,您可能需要包含有關每個客戶的一些信息,以及每個客戶資源的鏈接。

尋呼?好主意 - 將每個頁面轉換成自己的資源,並將它們鏈接在一起。看一下Google提供搜索結果的方式。

通常這就是您所需要的,因爲客戶端無需指定頁面大小。但是,如果是這樣,你基本上有兩個選擇:你可以有一個資源封裝一個表單,允許你指定參數,當提交時,將通過重定向直接或間接地將你帶到適當的URI。或者你可以包括一個窮人的形式,一個URI模板。

在任何情況下,重新說明我的第一點:不要將RESTful接口視爲一種將自身體現爲一組URI的構造規則的API。相反,請考慮資源,表示和超媒體。

+0

我也看到人們使用HTTP範圍標題(超過項目而不是更常用的字節)進行分頁,但我擔心作爲一種機制的可發現性。 –

相關問題