SAP OData Generator为导航的条目生成错误的URL



使用SAP V2代码生成器,我们为成功因素创建了类。

当为调用导航实体的请求生成URL时,会抛出500错误。

PerPersonFluentHelper q = service.getAllPerPerson().select(PerPerson.TO_EMAIL_NAV);

生成$select=emailNav/*&expand=emailNav

尝试运行导致

消息lang="en-US">无法理解字符序列为emailNav/*的API请求,字符位置编号:9个无效字符:*

当/如果我尝试为实体使用ALL_FIELDS静态字段时,我会遇到类似的问题。

如果我删除/*并将url粘贴到浏览器中,效果会很好。

我们正在寻找任何解决方案。我已经花了好几天时间阅读博客和搜索了。

是否有关于生成类的使用的高级文档?

提前谢谢。

找到解决方案--通过克隆FluentHelperBasic类并执行以下操作找到解决问题的方法:

for (int i = 0; i < selections.size(); i++) {
String select = selections.get(i);
if (select.endsWith("/*")) {
selections.set(i, select.substring(0,select.length()-2));
}
}
fieldNames.addAll(selections);
selections.forEach(delegateSelect);

此代码需要在代码设置委托展开之后移动。

不幸的是,SFSF不接受*作为所有字段的选择器。您可以通过在select子句中声明要扩展的属性的所有字段来解决此问题:

select(PerPerson.TO_EMAIL_NAV.select(Email.FIELD_1, Email.FIELD_2));

最新更新