【发布时间】:2014-10-22 01:55:51
【问题描述】:
我正在构建一个返回 JSON 字符串的 API。然而,我的目标是对包含返回结果的各种元数据属性以及返回结果的结果进行通用包装。
- 结果总数(我不允许用户一次查询超过 1000 个,因此他们需要知道是否还有更多,以便他们可以请求下一组结果)
- 限制时间(告诉用户在下一个请求之前回退一段时间 - 如果 API 繁忙,则很有用)
- 错误代码/消息
- 数据用户请求
我的 JSON 对象看起来像这样:
{
'total_results': 1001,
'throttle': 0,
'error_cd': 0,
'message': 'Successful',
'results': [
# Data that is returned; Each end point can return a different "type"
]
}
目标是让我的端点简单地返回出现在 results 中的数据(甚至不是 JSON 格式)。我的问题是如何提供一个包装器?
我最初的想法是运行jsonify 的某种装饰器,但是装饰器可以在函数之后运行吗? IE。我可以在我的路由中运行代码然后运行装饰器代码吗?
【问题讨论】:
-
@AlexWoolford,你的意思是把这个逻辑放在我的每个端点中吗?这似乎……效率低下。
标签: python json flask decorator