Chat now with support
Chat with Support

Identity Manager 9.1.2 - API-Entwicklungshandbuch

Gruppierung

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
    }
}

Hierarchische Datenstrukturen

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

Abfrage zusätzlicher Parameter

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
                }
            }
}

Typsichere Klassen

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

  1. 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).

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating