亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CloudSDK 能否幫助使用僅在運行時已知的 OData 實體類型?

CloudSDK 能否幫助使用僅在運行時已知的 OData 實體類型?

慕姐4208626 2023-06-04 15:07:41
我們正在使用 Java 開發 Cloud Foundry 應用程序,它應該能夠使用任何類型的 OData 實體。我們從 Destination 服務獲得一個基本路徑,添加一些用戶輸入的路徑,并希望存儲我們從那里獲得的結果。Cloud SDK 是否提供有助于 OData 查詢部分的組件?或者我們是否需要求助于像 Olingo 這樣的通用產品?
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您可以使用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());

? ? ? ? }

? ? });


查看完整回答
反對 回復 2023-06-04
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號