CloudSDK 能否帮助使用仅在运行时已知的 OData 实体类型?

我们正在使用 Java 开发 Cloud Foundry 应用程序,它应该能够使用任何类型的 OData 实体。我们从 Destination 服务获得一个基本路径,添加一些用户输入的路径,并希望存储我们从那里获得的结果。

Cloud SDK 是否提供有助于 OData 查询部分的组件?或者我们是否需要求助于像 Olingo 这样的通用产品?


慕姐4208626
浏览 87回答 1
1回答

素胚勾勒不出你

您可以使用ODataQueryBuilder执行任意 OData 调用,然后手动处理结果。ODataQueryResult result = ODataQueryBuilder            .withEntity("/base/path/to/api" + userPath, userEntity)            .build()            .execute("MyDestination");然后如何处理结果在很大程度上取决于您的用例。如果返回的数据是您可以在运行时确定的已知类型,您可以简单地检索该类型的结果。在这个例子中,我们收到了一个项目列表:List<MyClass> resList = result.asList(MyClass.class);如果没有,您可以处理ResultElement请求的 s,例如处理 json 对象:result.getResultElements().forEach(e -> {        if( e.isResultObject() ) {            JsonObject obj = ((GsonResultObject)e).getJsonObject();            // do some json processing        }        else if( e.isResultCollection() ) {            // do something else        }        else {            System.out.println(e.getAsPrimitive());        }    });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java