0
當使用XML使用以下代碼時,導航鏈接完美工作,即導航鏈接成功返回。但是,當我將格式更改爲「json」或「application/json」時,links2導航鏈接列表爲空,表示rental.getNavigations()返回空列表。使用JSON for OData時不會返回導航鏈接(使用Apache Olingo for Java)
任何人都可以幫忙嗎?我正在使用Apache Olingo進行Java OData v4。
感謝
URI uri = client.newURIBuilder(serviceRoot)
.appendEntitySetSegment("Rentals")
.appendKeySegment(1).format("application/xml").build();
ODataRetrieveResponse<ODataEntity> response2 = client.getRetrieveRequestFactory().getEntityRequest(uri).execute();
ODataEntity rental = response2.getBody();
List<ODataLink> links2 = rental.getNavigationLinks();
for (ODataLink link : links2) {
System.out.println(link.getRel());
System.out.println(link.getName());
URI linkUri = client.newURIBuilder(serviceRoot)
.appendNavigationSegment(link.getLink().toString()).format("atom").build();
ODataRetrieveResponse<ODataEntity> responseCustomer
= client.getRetrieveRequestFactory().getEntityRequest(linkUri).execute();
ODataEntity cust = responseCustomer.getBody();
if(link.getName().equals("Stock"))
System.out.println(cust.getProperty("Status").getValue().toString());
else System.out.println(cust.getProperty("Name").getValue().toString());
}
Hi @ user3423878。如果我的答案已經解決了您的問題,請考慮通過點擊複選標記來接受它。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – lencharest
添加odata.metadata =完整格式選項時,OData服務會輸出一條異常消息,指出該服務不接受metadata = full格式。有任何想法嗎?謝謝 – user3423878
什麼是確切的錯誤信息? – lencharest