Mithilfe des Pfad-Parameters group können Sie die Ergebnisse einer zurückgegebenen Antwort gruppieren. Dabei können Sie mithilfe des Abfrage-Parameters by angeben, nach welchem Attribut gruppiert werden soll. Zusätzlich können Sie mithilfe des Abfrage-Parameters withcount festlegen (Werte: true oder false), ob die Anzahl der Objekte für jede Gruppe berechnet werden soll. Dies kann die Ausführungszeit verlängern.
HINWEIS: Die API-Methode muss Gruppierungen unterstützen (mithilfe des Parameters EnableGrouping).
Das Ergebnis der Abfrage enthält eine Filterbedingung, die Sie als URL-Parameter als Filter übergeben können.
Beispiel
Die folgende Anfrage ermittelt die Menge aller Identitäten gruppiert nach primärem Standort:
https://<Host-Name>/ApiServer/portal/person/all/group?by=UID_Locality&withcount=true
Antwort:
{ |
{ |
"Display": "(No value: Primary location)", |
"Filters": [ |
{ |
"ColumnName": "UID_Locality", |
"CompareOp": 0 |
} |
], |
"Count": 42 |
}, |
{ |
"Display": "Berlin", |
"Filters": [ |
{ |
"ColumnName": "UID_Locality", |
"CompareOp": 0, |
"Value1": "c644f672-566b-4ab0-bac0-2ad07b6cf457" |
} |
], |
"Count": 12 |
} |
} |
Einige Tabellen des Datenmodells sind als Baumstruktur definiert (beispielsweise Department). Daten aus solchen Tabellen können aus einer bestimmten Hierarchie-Ebene geladen werden.
Mithilfe des Abfrage-Parameters parentKey des übergeordneten Objekts können Sie die Hierarchie-Ebene bestimmen.
Beispiel
Die folgende Anfrage ermittelt die Servicekategorien direkt unterhalb der Servicekategorie Access Lifecycle:
https://<Host-Name>/ApiServer/portal/servicecategories?parentKey=QER-f33d9f6ec3e744a3ab69a474c10f6ff4
Die folgende Anfrage ermittelt die Servicekategorien, die keine übergeordnete Servicekategorie haben:
https://<Host-Name>/ApiServer/portal/servicecategories?parentKey=
Die folgende Anfrage ermittelt alle Servicekategorien unabhängig von ihrer Hierarchie:
https://<Host-Name>/ApiServer/portal/servicecategories
Mithilfe des Pfad-Parameters noRecursive können Sie festlegen, ob die Daten als flache Liste abgefragt wird (Werte: true oder false).
Beispiel
https://<Host-Name>/ApiServer/portal/servicecategories?noRecursive=true
Mithilfe des Abfrage-Parameters withProperties können Sie festlegen, welche zusätzlichen Informationen aus bestimmten Tabellenspalten in der zurückgegebenen Antwort enthalten sein sollen.
HINWEIS: Um Tabellenspalten für diese Abfragen freizugeben, aktivieren Sie im Designer für die entsprechenden Spalten in den Spalteneigenschaften die Option Anzeige in Assistenten.
TIPP: Sie können die Namen mehrerer Spalten kommasepariert angeben.
Beispiel
Die folgende Anfrage ermittelt die Menge aller Identitäten und gibt zusätzlich deren bevorzugten Namen und Titel zurück:
https://<Host-Name>/ApiServer/portal/person/all?withProperties=PreferredName,Title
Antwort:
{ |
"TotalCount": 105950, |
"TableName": "Person", |
"Entities": [ |
{ |
"Display": "100, User (USER1)", |
"LongDisplay": "100, User (USER1)", |
"Keys": [ |
"bbf3f8e6-b719-4ec7-be35-cbd6383ef370" |
], |
"Columns": { |
"DefaultEmailAddress": { |
"Value": "USER1@qs.ber", |
"IsReadOnly": true |
}, |
"IdentityType": { |
"Value": "Primary", |
"IsReadOnly": true, |
"DisplayValue": "Primary identity" |
}, |
"PreferredName": { |
"Value": "Johnny", |
"IsReadOnly": true |
}, |
"Title": { |
"Value": "Dr.", |
"IsReadOnly": true |
}, |
"XObjectKey": { |
"Value": "<Key><T>Person</T><P>bbf3f8e6-b719-4ec7-be35-cbd6383ef370</P></Key>", |
"IsReadOnly": true |
} |
} |
} |
Verwenden Sie die typsichere Klassen, um das Datenbankmodell typsicher zu verwenden. Daraus ergeben sich folgende Vorteile:
-
Beim Kompilieren der Skripte wird geprüft, ob die verwendeten Klassen korrekt sind. Dadurch erkennen Sie bereits sehr früh Tippfehler in Tabellen- und Spaltennamen.
-
Die Entwicklungsumgebung kann eine automatische Vervollständigung anbieten.
-
Der Datentyp der Spalten ist bekannt, wodurch Typkonvertierungsfehler vermieden werden.
Um typsichere Klassen zu verwenden
-
Bearbeiten Sie das entsprechende API-Plugin (siehe API-Plugins bearbeiten) und nehmen Sie dabei folgende Aktion vor:
-
Fügen Sie eine Referenz auf die Bibliothek für typsichere Klassen des entsprechenden Datenbankmoduls hinzu (zum Beispiel AOB.TypedWrappers.dll).
Die Klassen für dieses Modul sind daraufhin im Namensraum <Modulname>.TypedWrappers verfügbar (zum Beispiel AOB.TypedWrappers).