下面是一個例子網址:描述REST風格的URL
/users/123/comments
在此基礎上的網址,其中任期將最好的形容users
?是users
的資源還是它的一部分資源。那部分的名字是什麼?
對於其他部分也是同樣的問題。哪些術語最能描述123
和comments
?
是否有一個術語會引用RESTful URL的第二部分?它將描述/users/123
中的123
和/me/purchases
中的purchases
。
下面是一個例子網址:描述REST風格的URL
/users/123/comments
在此基礎上的網址,其中任期將最好的形容users
?是users
的資源還是它的一部分資源。那部分的名字是什麼?
對於其他部分也是同樣的問題。哪些術語最能描述123
和comments
?
是否有一個術語會引用RESTful URL的第二部分?它將描述/users/123
中的123
和/me/purchases
中的purchases
。
REST是一個面向資源的。網址代表資源。
在你的榜樣,/users/123/comments
:
users
是一種資源。123
是用戶的唯一標識符。/comments/{id}
)關於你的第二個問題,爲/me/purchases
格式是不與/users/123
相同。而/me/purchases
可能是類似的東西/users/{myid}/purchases
短網址,其中purchases
網友(也可能是一個由/purchases/{id}
上也是自己的,可用的資源)的子資源。
欲瞭解更多信息,here is a video,不直接關係到你的問題,但是這是很有見地的約REST Web服務非常有趣。
在您的示例中,http://example.org/users/123/comments
指向一個資源。完整的URI是資源的標識符。
讓我給你舉一個極端的例子,
/users/123/comments.xml
/users/123/comments.json
是兩個不同的資源。
查詢字符串還確定了資源,所以
/users/123/comments?format=xml
/users/123/comments?format=json
也有兩個不同的資源。
資源不映射到實體。資源是您希望通過HTTP公開的「一些概念」,並且已經通過URI進行標識。
在RESTful系統中URI是不透明的制度設計。你係統的客戶端不應該試圖從你的URI部分推斷出你的意思。一臺服務器可以設置規範,以幫助它建立一個URI空間,但這些服務器的私有實現細節。
有爲REST URL沒有這樣的事情。這個術語是一個框架設計師的作品,只會讓你迷惑。
我不同意'format = xml'格式= json' format = html'指向不同的資源。他們指向相同的資源,但指向該資源的不同表示。我可能是錯的,但這是我以前見過的 –
@HugoDozois這裏http://tech.groups.yahoo.com/group/rest-discuss/message/11147是Roy Fielding從2008年開始的一篇文章,他描述兩個URI只通過「擴展名」與「特定於格式的**資源**」不同 –