我正在尝试将Flask-ReSTLess与Ember.js结合使用,效果不是很好。是GET响应使我感到震惊。例如,当我对GET
发出/api/people
请求时,例如Ember.js期望:
{
people: [
{ id: 1, name: "Yehuda Katz" }
]
}
但是Flask-ReSTLess的回应是:
{
"total_pages": 1,
"objects": [
{ "id": 1, "name": "Yahuda Katz" }
],
"num_results": 1,
"page": 1
}
如何更改Flask-ReSTLess的响应以符合Ember.js的要求?我感觉它可能在后处理器函数中,但是我不确定如何实现它。
最佳答案
flask 扩展名为pretty readable source code。您可以创建一个GET_MANY
后处理器:
def pagination_remover(results):
return {'people': results['objects']} if 'page' in results else results
manager.create_api(
...,
postprocessors={
'GET_MANY': [pagination_remover]
}
)
我没有测试过,但是应该可以。
关于python - 修改Flask-ReSTLess的JSON响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15442025/