是否有任何REST API查询标准/ DSL来表达GET URL中的复杂过滤器?

Mar*_*idt 6 api rest filtering querydsl antlr4

我目前正在研究一种优雅的方法,对于我正在开发的REST API,表达对返回集合的GET请求的过滤器.我想将查询表达为" http:// [...]?filter = expressions ",我将在其中评估表达式部分.我有一种感觉,灵活的方法会引发对简单查询DSL的需求吗?到目前为止,我发现的最接近正式规范的是

http://www.juniper.net/techpubs/en_US/junos-space-sdk/13.1/apiref/com.juniper.junos_space.sdk.help/html/reference/Commonbehav.html#step8

我想知道,如果ANTLR是要看的工具吗?但由于这应该是一个普遍的必需品,我想知道,如果有一些REST API查询标准DSL可用吗?

有点困惑的问候和thx为您的输入:)

小智 5

OData 4 ( http://www.odata.org/ ) 具有非常完整的查询语法,并支持具有导航、筛选、表达式等功能的 ER 数据模型。MSFT Azure AD Graph API 基于 OData。唯一的缺点是完整的规范相当深。有一些开源实现,Apache Olingo ( http://olingo.apache.org/ ) 是一种支持 Java 客户端和服务器的实现。还有其他的。


Chr*_*oop 2

我刚刚偶然发现了QueryDSL,它为多种后端技术的查询提供了流畅的构建器。

我不确定我是否喜欢将流畅构建器直接映射到查询参数的想法,但QueryDSL 站点引用的两篇博客文章中讨论了这种方法。