Die Dokumentation der Client-Seite API scheint von Olingo ein bisschen vernachlässigt werden. Aber es gibt ein Beispiel in der GIT repository bei Samples/Client.
Grundsätzlich für eine GET tun Sie Folgendes:
String serviceUrl = "http://localhost:9080/odata-server-sample/cars.svc"
String entitySetName = "Manufacturers";
ODataClient client = ODataClientFactory.getClient();
URI absoluteUri = client.newURIBuilder(serviceUri).appendEntitySetSegment(entitySetName).build();
ODataEntitySetIteratorRequest<ClientEntitySet, ClientEntity> request =
client.getRetrieveRequestFactory().getEntitySetIteratorRequest(absoluteUri);
// odata4 sample/server limitation not handling metadata=full
request.setAccept("application/json;odata.metadata=minimal");
ODataRetrieveResponse<ClientEntitySetIterator<ClientEntitySet, ClientEntity>> response = request.execute();
ClientEntitySetIterator<ClientEntitySet, ClientEntity> iterator = response.getBody();
while (iterator.hasNext()) {
ClientEntity ce = iterator.next();
System.out.println("Manufacturer name: " + ce.getProperty("Name").getPrimitiveValue());
}
Werfen Sie einen Blick auf die Probe in der Olingo Code-Basis weitere Informationen zu erhalten, wie man abrufen Metadaten verarbeiten alle Eigenschaften usw.
Um einen POST zu machen, können Sie wie folgt vorgehen. (Hinweis: Dies ist kein getesteter Code und der Beispiel-Car-Dienst ist schreibgeschützt.) Zuerst erstellen Sie Daten als ClientEntity. Sie tun z.B. mit
ClientComplexValue manufacturer = of.newComplexValue("Manufacturer");
manufacturer.add(of.newPrimitiveProperty("Name", of.newPrimitiveValueBuilder().buildString("Ford")));
Dann senden Sie die POST-Anfrage
ODataEntityCreateRequest<ClientEntity> request = client.getCUDRequestFactory().getEntityCreateRequest(absoluteUri, manufacturer);
ODataEntityCreateResponse<ClientEntity> response = request.execute();
Das ist also nicht mit POJO Klassen - der Ergebnistyp ist ClientEntity, die die Daten als Name/Wert-Karten präsentiert. Es gibt bereits eine weitere offene Frage zu diesem speziellen Thema bei Olingo - Create strongly typed POJOs for client library of OData service und ich schlage vor, dass wir dort einschalten, das zu verfolgen.
Mit OData-client-Core-Version 4.0.0-beta-01: ODataClient-Client = ODataClientFactory.getV4(); (oder xxx.getV3()) –