【问题标题】:URL query parameter as a dictionary in PyramidURL 查询参数作为 Pyramid 中的字典
【发布时间】:2017-07-13 20:09:00
【问题描述】:

JSON API 规范对某些query parameters 使用类似于字典的语法:

GET /articles?include=author&fields[articles]=title,body,author&fields[people]=name HTTP/1.1

是否有任何简单的方法可以使用 Pyramid 将上述 fields 参数作为字典检索?

为了提供更多详细信息,给出了以下fields 参数:

  • fields[articles]=title,body,author
  • fields[people]=name

我想把它们全部放在 Python 字典中:

fields = {
    'articles': 'title,body,author',
    'people': 'name',
}

【问题讨论】:

  • 您需要自己解析这种格式。从对 Python 可用 JSON-API 库的快速回顾来看,似乎没有适用于这种格式的广泛可用的解析器。正如下面@stevepiercy 的回答所表明的那样,有一种半hacky 的方式可以直接从webob 理解的解析的x-www-urlencoded 格式中进行。

标签: python dictionary pyramid url-parameters


【解决方案1】:

如果我理解您的问题,Pyramid Quick Tour 中有一个示例,其中包含指向更多示例和完整 Pyramid 请求 API 的链接。

基本上:

fields_articles = request.params.get('fields[articles]', 'No articles provided')
fields_people = request.params.get('fields[people]', 'No people provided')

然后将它们放入字典中。

编辑

这就够了吗?

fields = {
    'articles': request.params.get('fields[articles]', ''),
    'people': request.params.get('fields[people]', ''),
}

【讨论】:

  • 我在我的问题中添加了更多细节。
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多