我正在尝试使用Flask-Restless和Ember.js,这并不是那么好.这是GET响应让我沮丧.例如,当我发出GET
请求时/api/people
,例如Ember.js期望:
{
people: [
{ id: 1, name: "Yehuda Katz" }
]
}
Run Code Online (Sandbox Code Playgroud)
但Flask-Restless回应:
{
"total_pages": 1,
"objects": [
{ "id": 1, "name": "Yahuda Katz" }
],
"num_results": 1,
"page": 1
}
Run Code Online (Sandbox Code Playgroud)
如何更改Flask-Restless的响应以符合Ember.js的要求?我有这种感觉它可能在后处理器函数中,但我不知道如何实现它.
我已经真正搜索过了,我还没有找到一个使用序列化程序从不同格式的JSON响应中获取对象的好例子.我没有更改JSON响应格式的原因在http://flask.pocoo.org/docs/security/#json-security中列出.
我对javascript还不是很好,所以我很难理解serialize_json.js中的钩子,或者我应该使用map(我只是不知道).所以这是我对许多对象的JSON响应的一个例子:
{
"total_pages": 1,
"objects": [
{
"is_completed": true,
"id": 1,
"title": "I need to eat"
},
{
"is_completed": false,
"id": 2,
"title": "Hey does this work"
},
{
"is_completed": false,
"id": 3,
"title": "Go to sleep"
},
],
"num_results": 3,
"page": 1
}
Run Code Online (Sandbox Code Playgroud)
当ember-data尝试使用它时,我收到以下错误:
DEBUG: -------------------------------
DEBUG: Ember.VERSION : 1.0.0-rc.1
DEBUG: Handlebars.VERSION : 1.0.0-rc.3
DEBUG: jQuery.VERSION : 1.9.1
DEBUG: -------------------------------
Uncaught Error: assertion failed: Your server returned a hash with the key total_pages but you have …
Run Code Online (Sandbox Code Playgroud) 我正在尝试规范化REST API中的数据.我不会改变JSON响应.
我如何通常使用此JSON响应来提取嵌入式记录,使其处于侧载格式.
服务器的响应如下所示:
{
"objects": [
{
"active": true,
"admin": true,
"created_at": "2013-11-21T15:12:37.894390",
"email": "me@example.com",
"first_name": "Joe",
"id": 1,
"last_name": "Joeson",
"projects": [
{
"created_at": "2013-11-21T15:13:13.150572",
"id": 1,
"name": "Super awesome project",
"updated_at": "2013-11-21T15:13:13.150606",
"user_id": 1
}
],
"updated_at": "2013-12-06T19:50:17.035881"
},
{
"active": true,
"admin": false,
"created_at": "2013-11-21T17:53:17.155700",
"email": "craig@example.com",
"first_name": "Craig",
"id": 2,
"last_name": "Craigson",
"projects": [
{
"created_at": "2013-11-21T17:54:05.527790",
"id": 2,
"name": "Craig's project",
"updated_at": "2013-11-21T17:54:05.527808",
"user_id": 2
},
{
"created_at": "2013-11-21T17:54:29.557801",
"id": 3,
"name": "Future …
Run Code Online (Sandbox Code Playgroud)