1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用ODataQueryBuilder執(zhí)行任意 OData 調(diào)用,然后手動(dòng)處理結(jié)果。
ODataQueryResult result = ODataQueryBuilder
? ? ? ? ? ? .withEntity("/base/path/to/api" + userPath, userEntity)
? ? ? ? ? ? .build()
? ? ? ? ? ? .execute("MyDestination");
然后如何處理結(jié)果在很大程度上取決于您的用例。如果返回的數(shù)據(jù)是您可以在運(yùn)行時(shí)確定的已知類型,您可以簡(jiǎn)單地檢索該類型的結(jié)果。在這個(gè)例子中,我們收到了一個(gè)項(xiàng)目列表:
List<MyClass> resList = result.asList(MyClass.class);
如果沒有,您可以處理ResultElement請(qǐng)求的 s,例如處理 json 對(duì)象:
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());
? ? ? ? }
? ? });
添加回答
舉報(bào)