gpt4 book ai didi

java - 如何使用 Olingo 获取 EntityType 的属性属性

转载 作者:太空宇宙 更新时间:2023-11-04 12:44:11 24 4
gpt4 key购买 nike

我正在构建一个访问 OData 信息的 java 服务。我正在使用 olingo 来解析所有返回的 json。如果我提取元数据,我可以看到我的属性在所有 EntityType 下都有自定义属性。我正在尝试访问这些属性。我目前可以访问所有属性,但我似乎只能获取键值对。

for(Entry<String, Object> prop : entry.getProperties().entrySet())

在 Eclipse 中深入观察,我可以看到 EntityType 对象已经解析了这些属性并将它们存储在 HashMap 中。知道如何使用 Olingo 实现这一点吗?最后的手段是再次侧面处理元数据 xml,但我真的不想这样做。

我还在调试器中看到该调用

entitySet.getEntityType().getProperty("createdBy")

包含一个 SimpleProperty property 变量,其中包含我的所有属性注释。再次无法弄清楚如何获得访问权限(黑客攻击和谷歌搜索)。叹息:\

最佳答案

与 olingo 用户组的成员交谈后,我有了一个解决方案。代码片段

entitySet.getEntityType().getProperty("createdBy")

返回一个 EdmTyped 对象。可以将其转换为 EdmProperty,其中注释和属性可用于查找。

EdmProperty prop = (EdmProperty)entitySet.getEntityType().getProperty("createdBy")
for(EdmAnnotationAttribute attr : property.getAnnotations().getAnnotationAttributes())
{
attr contains your info
}

我之前没有尝试过此操作,因为当我在转换为 EdmProperty 注释变量为空后查看调试器时。一次又一次的教训,永远不要假设。 :)

注释在调用 prop.getAnnotations() 时加载

关于java - 如何使用 Olingo 获取 EntityType 的属性属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36506927/

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