修改 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 做的事情是为此编写你自己的适配器,那里已经有很多问题和答案:
- ...
这里还有这篇博文:http://eviltrout.com/2013/03/23/ember-without-data.html 它是关于在没有 ember-data 的情况下使用 ember。
找到这个名为 normalizePayload
的小 gem - 也许这也适用于您的情况:
我是 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 做的事情是为此编写你自己的适配器,那里已经有很多问题和答案:
- ...
这里还有这篇博文:http://eviltrout.com/2013/03/23/ember-without-data.html 它是关于在没有 ember-data 的情况下使用 ember。
找到这个名为 normalizePayload
的小 gem - 也许这也适用于您的情况: