1

postgres データベースとやり取りするためのバックボーンでのモデルの作成に取り組んでいます。クライアント側に backbone.js を使用し、サーバー側に node.js/sequelize.js を使用しています。バックボーン チュートリアルで指定されたコードは、次のように述べています。

 var UserModel = Backbone.Model.extend({
    urlRoot: '/user',
    defaults: {
        name: '',
        email: ''
    }

});

ここでは、RESTful url を使用してユーザーの sql データベースと対話しています (それが何であるかはわかりません)。postgres テーブルを参照する方法を知っている人はいますか? 私は混乱を超えており、何が起こっているのかわかりません(これは私にとって本当に新しいことです)

ありがとう。

4

1 に答える 1

1

RESTful URLは、RESTful原則を使用するWebサービスの単なるURLです。Googleは、ここで説明できるよりも優れていると説明できますが、基本的な考え方は、さまざまなREST「動詞」(GET、POST、DELETEなど)をAPIに統合することです。たとえば、架空のユーザーAPIのRESTful動詞とURLのセットを次に示します。

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がRESTfulでない場合は、モデルとコレクションの特定のメソッド(ほとんどの場合、、、、、、、、、)をオーバーライドして、サーバーにdestroy適切な処理を実行する必要があります。fetchsaveurlparsesynctoJSON

たとえばurl、モデルのメソッドをオーバーライドして、サーバーの(unRESTful)URLを返すようにすることができます。

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テーブルを参照する方法」については、適切なメソッドをオーバーライドしてから、モデルとコレクションで適切なBackboneアクションメソッド(fetch/ save/ )を呼び出すと、Backboneはオーバーライドdestroyで定義したURLに対してAJAXリクエストを行います。url。サーバーは、その要求を解釈する任意の言語を使用して、PostgreSQLデータベースで適切な操作を実行できます。

于 2013-03-16T02:40:09.807 に答える