aoRestServer/ODATA
August 24th, 2023
08 Datenabfragen für einzelne Objekte
aoRestServer/ODATA für ABES/Objects - Hinweise für Frontend-Entwickler
Die gezielte Abfrage einzelner Objekte kann bei Kenntnis des Schlüssels (Feld _OID) direkt erfolgen.
Dabei muß der Schlüssel in Klammern hinter den Entitätsname gestellt werden.
Die in den vorhergehenden Abschnitten beschriebenen Query-Optionen machen bei Einzel-Objekten keinen Sinn und werden nicht unterstützt.
Die beiden Optionen, die auch bei Einzel-Objekten sinnvoll eingesetzt werden können, sind $select und $expand.
Für diese beiden Optionen gelten die gleichen Bedingungen wie bei Tabellenabfragen.
Beispiel:
Abfrage einer einzelnen Person, deren Schlüssel bekannt ist, voller Umfang an Metadaten-Annotationen angefordert:
Request |
|
Header |
Accept: application/json;odata.metadata=full |
GET |
http://test.server.de/odata/Person( ‘47756E6B396B6154684869375275384578596F475356’)? $select=Name,Ort& $expand=assAdresse($select=EMail1) |
Response (Status=200) |
{ “@odata.context”: “http://test.server.de/odata/$metadata#Person/$entity”, “@odata.id”: “http://test.server.de/odata/Person(‘47756E6B396B6154684869375275384578596F475356’)”, “@odata.editLink”: “http://test.server.de/odata/Person(‘47756E6B396B6154684869375275384578596F475356’)”, “@odata.type”: “#AbesObjects.Person”, “_OID”: “47756E6B396B6154684869375275384578596F475356”, “Name”: “Link”, “Ort”: “Hamburg”, “assAdresse”: { “@odata.id”: “http://test.server.de/odata/Adresse(‘47794A50302F3178314C437054614C63743253437347’)”, “@odata.editLink”: “http://test.server.de/odata/Adresse(‘47794A50302F3178314C437054614C63743253437347’)”, “@odata.type”: “#AbesObjects.Adresse”, “_OID”: “47794A50302F3178314C437054614C63743253437347”, “EMail1”: “jemand@web.de” } } |
Hier noch einmal die gleiche Abfrage, diesmal mit odata.metadat=none:
Response (Status=200) |
{ “_OID”: “47756E6B396B6154684869375275384578596F475356”, “Name”: “Link”, “Ort”: “Hamburg”, “assAdresse”: { “_OID”: “47794A50302F3178314C437054614C63743253437347”, “EMail1”: “jemand@web.de” } } |
Es sollte die generelle Struktur des zurückgegebenen JSON-Objektes beachtet werden.
Dass es sich nicht um eine Tabellen-Abfrage handelt, entfällt auch das in den Beispielen der vorhergehenden Abschnitte vorhandene Array namens “value”.
Stattdessen werden die Daten des abgefragten Objektes direkt in das JSON-Objekt aufgenommen.
Die Bildschirmfotos können in aktuellen Programmversionen visuell abweichen.
Sie haben Fragen oder Anregungen? Schreiben Sie uns gerne an support@rackow-software.de