0

これは明らかな質問かもしれませんが、バックボーンが JSON を REST API ソースからフォーマットすることをどのように好むかを直接扱っているドキュメントは見当たりません。

理想的には、投稿内にいくつかの最新のコメントを含めることで、API 呼び出しの数を減らしたいと考えています。

例えば

投稿番号 404 を取得しているとします。GET を使用してhttp://api.example.com/v1/posts/404.json使用する.get(404)

ネストされた JSON は便利でクリーンだと思います。

{
    "id": 404,
    "title": "Hans shot first.",
    "comments": [
      {
        "id": 4041,
        "body": "But not anymore!"
      },
      {
        "id": 4042,
      "body": "Indeed he did."
      }
    ]
}

Ember.js はリレーショナル ID の使用を好むようです。source Backbone.js は同様のものを好みますか?

{
  "post": {
    "id": 404,
    "title": "Hans shot first.",
    "comment_ids": [4041, 4042]
  },

  "comments": [{
    "id": 4041,
    "body": "But not anymore!"
  },
  {
    "id": 4042,
    "body": "Indeed he did."
  }]
}

Backbone.js restful json API designBackbone.js & REST API resources relationship & interractionなどで関連する投稿を見つけました。ただし、実際の内部 JSON 構造の推奨事項の例が不足しています。バックボーンの基礎

4

2 に答える 2

1

私は、Backbone.js にどちらかの好みがあるとは思いません。JSON を構造化する方法は、完全にあなた次第です。最初の例は、コメント データが投稿の残りのデータよりも重要でない場合に適しています。しかし、コメントの数が投稿本文全体の文字数より多い Reddit のようなものを作成している場合、リレーショナル構造はより使いやすくなります。

Backbone.js は、データの解析とレンダリングを完全にユーザーに委ねているため、ユーザーがデータをどのように構造化するかは気にしません。そのため、目の前のタスクのニーズに合った構造を選択してください。

最初の例で変更することの 1 つは、無意味な「投稿」オブジェクト ラッパーを削除することです。

{
    "id": 404,
    "title": "Hans shot first.",
    "comments": [
      {
        "id": 4041,
        "body": "But not anymore!"
      },
      {
        "id": 4042,
      "body": "Indeed he did."
      }
    ]
}
于 2013-08-12T20:59:03.567 に答える