0

我们目前正在努力为实体提供 OData 服务,该实体的键的一部分是 DateTime 类型的属性。此键属性不是 SAP Cloud Provisioning SDK 提供的 OData 请求中的键映射的一部分。这似乎是由于 com.sap.cloud.sdk.service.prov.v2.data.provider.CXSDataProvider.getKeys(List) 方法中的请求解析中的错误:

if (type.toString().equals("Edm.Date")) {
  Date value = type.valueOfString(keyPredicate.getLiteral(), EdmLiteralKind.DEFAULT, property.getFacets(), Date.class);
  keys.put(property.getName(), value);
}

由于 OData 标准中没有 Edm.Date 类型,我的猜测是以下内容是正确的:

if (type.toString().startsWith("Edm.Date")) {
  [s. above]
}

这是正确的还是我们在这里做错了什么?此外,方法本身上有一个 TODO 标记,指出当前仅支持 EDM 类型的子集作为键。有没有计划修复这个 TODO?

4

1 回答 1

2

正如 muchumanoj 评论的那样,这个问题应该在 .1.29.5 版本中得到解决 <groupId>com.sap.cloud.servicesdk.prov</groupId><artifactId>odatav2-prov</artifactId>。感谢您报告它。

于 2019-09-20T07:15:56.497 回答