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