是否有任何 REST API 查询标准/DSL 来表达 GET URL 中的复杂过滤器?
Is there any REST API query standard / DSL to express complex filters in GET URL?
我目前正在研究一种优雅的方式,用于我正在开发的 REST API,以表达 GET 请求返回集合的过滤器。我想将查询表达为“http://[...]?filter=expressions”,我将在其中计算表达式部分。我有一种感觉,一种灵活的方法会触发对简单查询 DSL 的需求吗?到目前为止,我找到的最接近良好正式规范的是
我想知道,ANTLR 是不是要看的工具?但是由于这应该是一种常见的必需品,我想知道是否有一些 REST API 查询标准 DSL 可用?
有点困惑的问候和感谢您的输入:)
OData 4 (http://www.odata.org/) has a very complete query syntax and supports the E-R data model with navigation, filtering, expressions, etc. The MSFT Azure AD Graph API is based on OData. The only downside is that the complete spec is pretty deep. There are a few open source implementations, Apache Olingo (http://olingo.apache.org/) 支持 Java 客户端和服务器。还有其他的。
我偶然发现了 QueryDSL,它为查询多种后端技术提供了流畅的构建器。
我不确定我是否喜欢将流畅的构建器直接映射到查询参数的想法,但这种方法在两个 blog posts referenced by the QueryDSL site.
中进行了讨论
我目前正在研究一种优雅的方式,用于我正在开发的 REST API,以表达 GET 请求返回集合的过滤器。我想将查询表达为“http://[...]?filter=expressions”,我将在其中计算表达式部分。我有一种感觉,一种灵活的方法会触发对简单查询 DSL 的需求吗?到目前为止,我找到的最接近良好正式规范的是
我想知道,ANTLR 是不是要看的工具?但是由于这应该是一种常见的必需品,我想知道是否有一些 REST API 查询标准 DSL 可用?
有点困惑的问候和感谢您的输入:)
OData 4 (http://www.odata.org/) has a very complete query syntax and supports the E-R data model with navigation, filtering, expressions, etc. The MSFT Azure AD Graph API is based on OData. The only downside is that the complete spec is pretty deep. There are a few open source implementations, Apache Olingo (http://olingo.apache.org/) 支持 Java 客户端和服务器。还有其他的。
我偶然发现了 QueryDSL,它为查询多种后端技术提供了流畅的构建器。
我不确定我是否喜欢将流畅的构建器直接映射到查询参数的想法,但这种方法在两个 blog posts referenced by the QueryDSL site.
中进行了讨论