RESTful URL只是使用RESTful原則的Web服務的URL。谷歌可以比我在這裏解釋得更好,但基本的想法是將各種REST「動詞」(GET,POST,DELETE等)集成到API中。舉例來說,這裏是一個假想的用戶API一套基於REST的動詞+網址:
GET /user - returns a list of users
POST /user - creates a new user
DELETE /user/5 - deletes the user with ID 5
PUT /user/5 - updates/edits the user with ID 5
骨幹效果特別好,如果你的服務器端的設計相似,但它不是必需的。
如果你的服務器端API是不是平安,你只需要重寫你的模型和集合(最有可能的destroy
,fetch
,save
,url
,parse
,sync
,並toJSON
)採取一切適當的某些方法爲您的服務器。
例如,您可能要覆蓋模型的url
方法,使其恢復服務器的(unRESTful)網址:
url: function() {
return 'www.example.com/some/very/not/RESTful/' + this.id + '/URL/example';
}
或者,如果你的服務器有一個「信封」返回你的對象,例如:
{
type: 'envelope',
payload: {
type: 'user',
name: 'Bob',
id: 5,
}
}
可以修改解析剝離出來:
parse: function(original) {
return original.payload;
}
至於「我如何參考我的postgres表」,如果您重寫適當的方法,然後在模型和集合上調用相應的骨幹動作方法(fetch
/save
/destroy
),Backbone會將AJAX請求發送到您的URL在您的url
覆蓋中定義。然後,您的服務器可以使用您想要解釋該請求的任何語言,並在您的PostgreSQL數據庫上執行相應的操作。