我对SAP Cloud SDK有疑问。首先,我需要说的是,这是一个非常好的用于消费OData服务的库,我只是想指出你做得很好!关于生成vdm和其他东西的教程简直太棒了!
正题。我如何从客户端调用绑定函数或操作?我已经搜索/观看了视频,我发现的唯一一件事是,在2020年5月5日的视频SAP云SDK: SAP社区的更新调用,你说绑定函数还不支持。它的状态是什么,我如何使用绑定函数实现客户端?
希望你能帮助我。Matija
注:Get All, Get By Key, Post, Patch, Delete, unbind Functions and Actions work无瑕
从3.46.0版本开始,SAP Cloud SDK for Java已经内置了对绑定函数和操作的支持。
这允许直接从VDM构建请求。实体类将在API上公开绑定到它们的所有函数和操作。查看如何使用该API的文档。
感谢您对SDK的好评!这对团队来说是一个很大的鼓励。
我们目前正在积极支持OData v4绑定函数/操作。对这些操作的类型安全支持应该很快就会发布。你可以期待它在3月底和4月初之间,虽然没有保证。我们将通过发布说明进行沟通。
作为一种解决方案,您可以利用我们的通用OData客户端,它已经提供了对绑定函数和操作调用的支持。
下面是一个通用的代码片段来进行这样的调用:
// this code will build the following URL:
// "/service/Entity(key1='foo%2Fbar',key2=123)/Model.Function(param1='foo%2Fbar',param2=123)"
ODataEntityKey key = new ODataEntityKey(ODataProtocol.V4)
.addKeyProperty("key1", "foo/bar")
.addKeyProperty("key2", 123);
ODataFunctionParameters params = new ODataFunctionParameters(ODataProtocol.V4)
.addKeyProperty("param1", "foo/bar")
.addKeyProperty("param2", 123);
ODataResourcePath functionPath =
new ODataResourcePath()
.addSegment("Entity", key)
.addSegment("Model.Function", params);
ODataRequestFunction request =
new ODataRequestFunction("/service", functionPath, null, ODataProtocol.V4);
我们希望它有帮助!如果还有什么需要我们帮忙的,请告诉我们。