gpt4 book ai didi

java - 使用 Odata4j 为查询参数表达式创建抽象语法树

转载 作者:行者123 更新时间:2023-11-30 11:23:19 29 4
gpt4 key购买 nike

我通过使用 Sprint MVC 4.0 框架公开 REST 服务,我尝试遵循查询参数的 Odata 规范,例如 $filter、$search 和 $orderBy。其中每一个都包含我需要解析、构建抽象语法树和验证的表达式。它们都作为字符串检索。

我不需要 Odata 语法 ( http://docs.oasis-open.org/odata/odata/v4.0/cos01/abnf/odata-abnf-construction-rules.txt ) 中定义的所有结构,我只选择与我的用例相关的结构(实际上很少)

我想要一些关于如何以简单的方式解析和构建抽象树的提示,以及是否可以将 Odata4j 用作实用程序库来为我完成这项工作?我想避免将一堆新的依赖项拖到 odata4j,因为我只会使用一小段代码。

最佳答案

您当然可以使用 odata4j 为查询参数构建 AST。我这样做正是出于您引用的目的。我拆分查询参数,然后在“&”上再次拆分以获取参数。对于其中的每一个,我检查参数名称($select、$filter 等),然后基于该名称对值使用相应的 OptionsQueryParser 静态方法,返回一个数字、列表或特定于该查询参数的 AST。对于表达式 AST,请查看 PrintExpressionVisitor 并将其用作编写您自己的访问者以遍历 AST 的模式。

关于java - 使用 Odata4j 为查询参数表达式创建抽象语法树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21264501/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com