python - 其他人如何在 RESTful API 中实现复杂的过滤?

标签 python rest filtering

我正在构建一个 RESTful API,它需要对其许多资源进行高级过滤。我需要支持您在 SQL where 子句中可以执行的几乎所有操作。其他人如何在他们的 API 中实现此功能?

我做的研究越多,我就越需要为已经定义的语法(如 SQL 或 RQL)找到一个解析器,或者编写自己的、大大简化的解析器。我正在使用 Python 工作。

最佳答案

您正在寻找的是 OData 标准。 OData 是 REST+ATOM 组合,其中包含 URL 内查询语言。

以下是 Web 服务上的 OData 查询调用示例:

http://services.odata.org/OData.svc/Category(1)/Products?$top=25&$orderby=name

此(虚构)查询从 OData.svc Web 服务中搜索类别 1 中按名称排序的前 25 个产品。

查看http://www.odata.org/了解有关 OData 的更多信息。

有可用的 Python 实现,但我不确定现阶段它们有多先进。查看http://code.google.com/p/odata-pyhttps://bitbucket.org/dowski/myohdata/src .

关于python - 其他人如何在 RESTful API 中实现复杂的过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19567779/

相关文章:

java - 阿拉伯文本在 itext 的 PDF 中显示 شناية الÙ

c# - 如何在C#中过滤 Crystal 报表?

jquery - 如何在tablesorter中配置服务器端过滤?

python - 字符串编码器 - Python

python - 如何获取一列中所有唯一的值组合,这些值在另一列中

python - 在 PyCharm 终端窗口中自动激活 virtualenv

python matplotlib "merge"用于多索引的x轴标签

php - 如何(正确)使用具有依赖关系的表单请求+策略+资源路由?

linux - tcpdump - 如何根据 tcp 连接时间/持续时间进行过滤

python - Tornado 处理程序在 python 中 fork 额外的工作