2011-07-09 31 views
4

由於CouchDB正在實現一個RESTful API,這並不意味着我想將所有相同類型的文檔放在他們自己的數據庫中嗎?CouchDB中的RESTful API:如何構建文檔?

例如。

POST http://localhost/users 
GET http://localhost/users/1 
PUT http://localhost/users/1 
DELETE http://localhost/users/1 

POST http://localhost/threads 
GET http://localhost/threads/1 
PUT http://localhost/threads/1 
DELETE http://localhost/threads/1 

而不是把它們放在一個大的數據庫(http:// localhost/my_app)中。

不是100%RESTful方法意味着前者更正確嗎?

回答

11

使用多個數據庫的主要原因是由於數據量的原因而分割數據,特別是創建新視圖,壓縮等。沒有理由將其分解。

簡單的事實是,DB不關心。網址也沒有。 REST也不行。您可以使用視圖輕鬆地在沙發中創建一個邏輯上類似的URL結構,或者如果您發現冒犯,您可以使用Couch內置的URL重寫功能。

REST關心體系結構。 REST關心你使用唯一的URL。 REST關心您使用超媒體通過其URL提供指向其他資源的鏈接。 REST關心您使用無處不在的媒體類型。漂亮的URL在REST關心的事情列表中位居榜首。

如果您想做REST,請關注體系結構和媒體類型。網址幾乎處理自己。