修改 Embers 预期的 json api 响应

Modifying Embers expected json api response

我是 Ember 的新手,据我了解,它有一种非常具体的方式,除了它的 json api 响应看起来像。像这样:

{
  "post": {
    "id": 1,
    "title": "Node is not omakase",
    "comments": [1, 2, 3]
  },

  "comments": [{
    "id": 1,
    "body": "But is it _lightweight_ omakase?"
  },
  {
    "id": 2,
    "body": "I for one welcome our new omakase overlords"
  },
  {
    "id": 3,
    "body": "Put me on the fast track to a delicious dinner"
  }]
}

现在我已经构建的 api 有一个 json 响应,如下所示:

{
  "data": {
    "id": 1,
    "name": "Pansy Bednar",
    "links": [
      {
        "rel": "self",
        "uri": "/pansy-bednar15"
      }
    ],
    "players": {
      "data": [
        {
          "id": 2,
          "name": "Nicholas O'Reilly",
          "position": "cad",
          "age": 23,
          "value": "640",
          "links": [
            {
              "rel": "self",
              "uri": "/team/nicholas-o-reilly71"
            }
          ]
        }
      ]
    }
  }
}

api 相当大,可以很好地与移动应用程序配合使用。所以重写代码会很昂贵我会选择另一个 js 框架,即使我最喜欢 Ember。

所以我的问题是有什么方法可以调整 ember 中预期的 json 响应。如果是的话有多难?值得花时间还是我应该去 Angular 或 Aurelia。

或者我完全错了,没有人预期会回应 ember?

你可以用 ember 做的事情是为此编写你自己的适配器,那里已经有很多问题和答案:

  1. ...

这里还有这篇博文:http://eviltrout.com/2013/03/23/ember-without-data.html 它是关于在没有 ember-data 的情况下使用 ember。

找到这个名为 normalizePayload 的小 gem - 也许这也适用于您的情况: