【发布时间】:2020-11-03 14:59:15
【问题描述】:
我已经使用 SAP SDK 3.29.1 在 Java 中创建了一个 CAP VDM。 在事件处理程序@On read 中,我想将输入过滤器传递给 VDM。
Es.
@On(event = CdsService.EVENT_READ, entity = "XXXX")
public void readXXX(CdsReadEventContext context) throws ODataException {
final String filter = context.getParameterInfo().getQueryParameter("$filter");
final List<XXXXX> dati = new DefaultXXXService().getAllXXXX().select().withQueryParameter("$filter", filter).executeRequest(dest);
}
在日志中运行查询时出现错误: “无法为具有请求路径的 OData 请求构建 URI ...” “索引 95 处的查询中存在非法字符......”
但是路径和过滤器适合调用,你能帮帮我吗?
在我使用的旧版本sdk中:
FilterExpression filtriFrontEnd =FilterExpressionConverter.convertTo(queryRequest.getQueryExpression());
final List<XXXX> area = new DefaultXXXXService().getAllXXX().filter(new UncheckedFilterExpression<>(filtriFrontEnd)).select().execute(new ErpConfigContext("XXX"));
谢谢。
【问题讨论】:
-
请更好地格式化您的问题。很难阅读。考虑将代码示例包装在反引号中。
-
嗨 Stani,我认为堆栈跟踪将有助于进一步调查。我也同意@Emdee 的观点,即更好的格式和更少的缩写将有助于更快地了解问题的本质。
-
是的,请添加堆栈跟踪。
-
谢谢,我改了格式,希望更清楚。
-
@StaniSorre 请按要求添加堆栈跟踪。它可以帮助我们确定异常的根本原因。
标签: sap-cloud-sdk