立即与支持人员聊天
与支持团队交流

Identity Manager 8.2 - API Designer Benutzer-und Entwicklungshandbuch

Der API Designer Grundlagen der API-Entwicklung Beispiele und Hilfe – Software Development Kit Schnellstart – Eine API erstellen Arbeiten mit dem API Designer
API Designer starten Projekttypen Benutzeroberfläche Globale Einstellungen Datenbankobjekte Änderungen kennzeichnen Suchen und Ersetzen Mehrsprachige Texte Datenbankabfragen verwalten Tabreiter verwalten Layouts verwalten Änderungshistorie anzeigen (Befehlsliste) Lesezeichen API kompilieren Versionen verwalten (Kompilierungszweige) API testen C#-Projekte mit dem API Designer verbinden
API-Projekte API-Dateien API Server ImxClient-Kommandozeilenprogramm

Antwortcodes

Antworten, die von der REST-API versendet werden, verwenden die nachfolgenden Codes. Wenn Anfragen fehlschlagen, wird eine erklärende Fehlermeldung angezeigt.

Antwortcodes

Beschreibung

200

Die Anfrage war erfolgreich.

204

Die Anfrage war erfolgreich. Die Antwort enthält keinen Inhalt.

401

Der Zugriff ist unautorisiert. Die Sitzung muss zuerst authentifiziert werden.

404

Die angegebene Ressource konnte nicht gefunden werden.

405

Die verwendete HTTP-Methode ist für diese Anfrage nicht erlaubt.

500

Ein Server-Fehler ist aufgetreten. Die Fehlermeldung wird in der Antwort mitgesendet. Aus Sicherheitsgründen ist keine detaillierte Fehlermeldung in der Antwort enthalten. Weitere Informationen können Sie der Anwendungs-Log-Datei auf dem Server entnehmen.

Verwandte Themen

Allgemeine Hinweise und Informationen zu Entity-Methoden

In diesem Kapitel finden Sie nützliche Hinweise und Informationen für die Erstellung und Verwendung von Entity-Methoden.

Ergebnisse einschränken

HINWEIS: Entity-basierte Methoden arbeiten standardmäßig mit einer Limitierung, um unabsichtliches Laden extrem großer Datenmengen zu vermeiden.

Mithilfe der folgenden Abfrage-Parameter können Sie die Anzahl der zurückgegebenen Datensätze begrenzen, um mehrere Datensätze in aufeinanderfolgenden Antworten zu erhalten:

Abfrage-Parameter Standardwert Beschreibung
PageSize 20

Legen Sie fest, wie viele Datensätze in der Antwort maximal enthalten sein dürfen.

Wenn Sie nur die Gesamtanzahl ermitteln, aber keine einzelnen Datensätze erhalten möchten, verwenden Sie den Wert -1.

StartIndex 0

Legen Sie fest, ab welchem Datensatz die Ergebnisse in der Antwort zurückgegeben werden.

Dieser Parameter ist nullbasiert (das erste Element wird mit dem Wert 0 angesprochen).

Beispiel

Die folgende Anfrage gibt 50 Personen zurück und beginnt dabei bei der 101. Person:

https://<Host-Name>/ApiServer/portal/person?PageSize=50&StartIndex=100

Sortierung

Mithilfe des Abfrage-Parameters OrderBy können Sie die Ergebnisse einer zurückgegebenen Antwort sortieren. Mit diesem Parameter können Sie nach den Spaltennamen der zugrundeliegenden Datenbanktabelle sortieren.

Beispiele

Die folgende Anfrage gibt Personen aufsteigend sortiert nach Vorname zurück:

https://<Host-Name>/ApiServer/portal/person?OrderBy=FirstName

Personen absteigend sortiert nach Vorname:
https://<Host-Name>/ApiServer/portal/person?OrderBy=FirstName%20DESC

Filterung

Mithilfe des Abfrage-Parameters filter können Sie die Ergebnisse einer zurückgegebenen Antwort filtern. Ein solcher Filter besteht aus einem JSON-formatierten String, der die folgenden Filterbedingungen enthalten muss:

  • ColumnName: Name der Spalte, auf die gefiltert werden soll
  • CompareOp: der Vergleichsoperator, der den Inhalt der gewählten Spalte mit einem Sollwert vergleicht

    Die folgenden Vergleichsoperatoren sind zulässig:

    • Equal: Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte mit dem Vergleichswert übereinstimmen.

    • NotEqual: Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte NICHT mit dem Vergleichswert übereinstimmen.

    • LowerThan: Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte kleiner sind als der Vergleichswert.

    • LowerOrEqual: Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte kleiner oder gleich dem Vergleichswert sind.

    • GreaterOrEqual: Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte größer oder gleich dem Vergleichswert sind.

    • Like: Erfordert die Verwendung eines Prozentzeichens (%) als Platzhalterzeichen. Sie können bis zu zwei Prozentzeichen in dem Wert angeben. Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte mit dem Pattern-Vergleichswert übereinstimmen.

    • NotLike: Erfordert die Verwendung eines Prozentzeichens (%) als Platzhalterzeichen. Sie können bis zu zwei Prozentzeichen in dem Wert angeben. Die Ergebnisse beinhalten nur Datensätze, bei denen die Daten in der Spalte NICHT mit dem Pattern-Vergleichswert übereinstimmen.

    • BitsSet: Der Wert wird mit einem Vergleichswert über den logischen Operator & verglichen. Das Ergebnis muss ungleich 0 sein.

    • BitsNotSet: Der Wert wird Wert mit einem Vergleichswert über den logischen Operator & verglichen. Das Ergebnis muss gleich 0 sein.

  • Value1: Vergleichswert der mit dem Inhalt der Spalte verglichen werden soll

  • Value2: Wird dieser zweite Vergleichswert übergeben, so wird der Wert für CompareOp ignoriert und alle Werte, die größer gleich Value1 und kleiner gleich Value2 sind, werden ermittelt.

Beispiel

Die folgende Anfrage gibt aller Personen mit dem Nachnamen "Smith" zurück:

https://<Host-Name>/ApiServer/portal/person/all?filter=[{ColumnName: 'LastName', CompareOp: 'Equal', Value1: 'Smith'}]

Gruppierung

HINWEIS: Die API-Methode muss Gruppierungen unterstützen (mithilfe des Parameters EnableGrouping).

Mithilfe des URL-Parameters group können Sie die Ergebnisse einer zurückgegebenen Antwort gruppieren. Dabei geben Sie mithilfe des Abfrage-Parameters by an, nach welchem Attribut gruppiert werden soll.

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 Personen gruppiert nach primärem Standort:

https://<Host-Name>/ApiServer/portal/person/all/group?by=UID_Locality

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 werden aus solchen Tabellen grundsätzlich aus einer bestimmten Hierarchie-Ebene geladen.

Mithilfe des Abfrage-Parameters parentKey und der UID des übergeordneten Objekts können Sie die Hierarchie-Ebene bestimmen.

Beispiel

https://<Host-Name>/ApiServer/portal/servicecategories?parentKey=QER-f33d9f6ec3e744a3ab69a474c10f6ff4

Mithilfe des URL-Parameters noRecursive=true können Sie die Daten als flache Liste abfragen.

Beispiel

https://<Host-Name>/ApiServer/portal/servicecategories?noRecursive=true

Verwandte Themen

Deadlocks vermeiden

Bei der API-Entwicklung wird viel asynchroner Code mit async/await-Konstrukt geschrieben. Um Deadlocks (Verklemmungen) zu verhindern, verwenden Sie für jedes await-Schlüsselwort die Methode ConfigureAwait(false).

HINWEIS: Während der Kompilierung der API wird zusätzlich geprüft, ob ConfigureAwait(false) verwendet wurde.

Weitere Informationen finden Sie unter https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html und https://devblogs.microsoft.com/dotnet/configureawait-faq/.

Beispiele und Hilfe – Software Development Kit

Um Ihnen die Entwicklung Ihrer API mit dem API Designer einfacher zu gestalten, stellt Ihnen One Identity ein Software Development Kit (SDK) mit vielen kommentierten Code-Beispielen zur Verfügung.

Das SDK finden Sie unter auf dem Installationsmedium im Verzeichnis QBM\dvd\AddOn\ApiSamples.

相关文档

The document was helpful.

选择评级

I easily found the information I needed.

选择评级