3

変更できない既存のRESTfulAPIがあります。今、私はウェブクライアントに取り組んでいます。

backbone.jsのようなライブラリを(初めて)使用したいと思います。

これが既存のAPIの設計です

1.)GET /persons-人のコレクション全体を返します

2.)GET /persons?p1=a&p2=b(eg)-クエリパラメータで指定された基準に一致する完全なコレクションのサブセットを返します

3.)GET /persons/[id]-IDで人を返します

4.)POST /persons-コレクションを変更し(たとえば、新しい人を作成し)、特定の結果を返します

問題:

  • #1(および#2)の問題:出力形式は次のようになります。{size: 1, persons: [{'id': 1, 'firstname': 'foo', 'lastname': 'bar'}]}

  • #2の問題:そのような要求をbackbone.jsにマップする方法は?

助言がありますか?

4

2 に答える 2

3

#1 については、オーバーライドしますparse。たとえば、Persons コレクションに次のメソッドを配置します。

parse: function(response) {
    return response.persons;
}

基本的に、モデルを見つけることができる属性 (この場合は「人」) をコレクションに指示します。

#2については、(前述のように)更新する必要があるようですsync。ハンターは、彼の応答で本当に役立つはずの良いリンクを提供しました.

于 2013-01-02T18:26:58.360 に答える
2

バックボーンの正確な構造に従わない API の場合、通常、バックボーン内のfetch parseとの組み合わせをオーバーライドすることになりsyncます。バックボーンは、一般的な必要性であるため、これらのものを簡単にオーバーライドできるように設計されています。

于 2013-01-02T16:58:16.263 に答える