【发布时间】:2016-12-31 18:48:05
【问题描述】:
作为我的 RESTful API 的一部分,我发现自己需要返回一个带有“变量”键的 json,我将尝试通过一个简单的示例让事情更清楚:
我有不同的组,每个组都有一个group_id,所以预期的回报是:
{
1: {
"name": "first_group_name",
...
},
5: {
"name": "second_group_name",
...
}
}
如您所见,根 json 中的键 (group_ids) 不是我可以在模型中硬编码的,我只知道它们是整数。
谁能帮忙解决这个问题?
【问题讨论】:
-
您的问题不够清楚,无法猜测。这些“键”是否与对象相关联?它们是客户端发送的查询的结果吗?你的例子看起来很不典型。如果要返回一组作为查询结果的对象,为什么不在数组中返回它们呢?为什么“键”(我认为它实际上是一个 ID)不是对象的一部分?
-
您的猜测是正确的,键是对象的一部分。我可以返回一个包含 id 的数组,但返回一个“字典”更容易访问。
-
确实没有。阅读社区 wiki 对此问题的回答:stackoverflow.com/questions/671118/… 并查看包含对象集合的示例响应。尽管没有官方标准,但对于 REST API 的良好实践以及尝试标准化的举措(如 Open API Initiative (github.com/OAI))已达成广泛共识。这并不意味着你想生成你的例子是错误的(称它为 REST 是有争议的),但在这种情况下,鉴于提供的信息,@metmirr 的答案看起来很合适。
-
感谢您的帮助!我知道我想做的不是好的做法,这可能是我找不到合适的烧瓶模型的原因。我会按照你的建议返回一个列表。
标签: python rest flask flask-restful flask-restplus