Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Daten-API-Generator (DAB) bietet eine RESTful-Web-API, mit der Sie auf Tabellen, Ansichten und gespeicherte Prozeduren aus einer verbundenen Datenbank zugreifen können. Jedes verfügbar gemachte Datenbankobjekt wird als Entität in der Laufzeitkonfiguration definiert.
Standardmäßig hostet DAB REST-Endpunkte unter:
https://{base_url}/api/{entity}
Hinweis
Bei allen Pfadkomponenten und Abfrageparametern wird die Groß-/Kleinschreibung beachtet.
Im Daten-API-Generator unterstützte Schlüsselwörter
| Begriff | REST | Zweck |
|---|---|---|
| Projection | $select | Auswählen der zurückzugebenden Felder |
| Filterung | $filter | Einschränken von Zeilen nach Bedingung |
| Sortieren | $orderby | Definieren der Sortierreihenfolge |
| Seitenformat | $first | Einschränken der Elemente pro Seite |
| Fortsetzung | $after | Weiter von der letzten Seite |
Grundstruktur
Um eine REST-API aufzurufen, erstellen Sie eine Anforderung mit diesem Muster:
{HTTP method} https://{base_url}/{rest-path}/{entity}
Beispiel zum Lesen aller Datensätze aus der book Entität:
GET https://localhost:5001/api/book
Die Antwort ist ein JSON-Objekt:
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Hinweis
Standardmäßig gibt DAB bis zu 100 Elemente pro Abfrage zurück, sofern nicht anders konfiguriert (runtime.pagination.default-page-size).
Abfragetypen
Jede REST-Entität unterstützt sowohl das Lesen von Sammlungen als auch von einzelnen Datensätzen.
| Operation | BESCHREIBUNG |
|---|---|
GET /api/{entity} |
Gibt eine Liste von Datensätzen zurück. |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Gibt einen Datensatz anhand eines Primärschlüssels zurück. |
Beispiel für die Rückgabe eines Datensatzes:
GET /api/book/id/1010
Beispiel, in dem viele zurückgegeben werden:
GET /api/book
Filterergebnisse
Verwenden Sie den $filter Abfrageparameter, um einzuschränken, welche Datensätze zurückgegeben werden.
GET /api/book?$filter=title eq 'Foundation'
Diese Abfrage gibt alle Bücher zurück, deren Titel "Foundation" entspricht.
Filter können logische Operatoren für komplexere Abfragen enthalten:
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
Siehe die $filter-Argumentreferenz für unterstützte Operatoren wie eq, ne, lt, le, and, und or.
Sortieren von Ergebnissen
Der $orderby Parameter definiert, wie Datensätze sortiert werden.
GET /api/book?$orderby=year desc, title asc
Dies gibt Bücher zurück, die nach year absteigend sortiert sind, dann nach title.
Weitere Informationen finden Sie in der $orderby-Argumentreferenz .
Einschränken der Ergebnisse {#first-and-after}
Der $first Parameter begrenzt, wie viele Datensätze in einer Anforderung zurückgegeben werden.
GET /api/book?$first=5
Dadurch werden die ersten fünf Bücher zurückgegeben, die standardmäßig nach Primärschlüssel sortiert sind.
Sie können auch $first=-1 verwenden, um die konfigurierte maximale Seitengröße anzufordern.
Weitere Informationen finden Sie im $first-Argumentverweis.
Fortlaufende Ergebnisse
Verwenden Sie das Fortsetzungstoken aus der vorherigen Antwort mit $after, um die nächste Seite abzurufen.
GET /api/book?$first=5&$after={continuation-token}
Das $after Token gibt an, wo die letzte Abfrage beendet wurde.
Einzelheiten finden Sie in der $after-Argumentreferenz.
Feldauswahl (Projektion)
Verwenden Sie $select, um zu steuern, welche Felder in der Antwort enthalten sind.
GET /api/book?$select=id,title,price
Dies gibt nur die angegebenen Spalten zurück.
Wenn ein Feld fehlt oder nicht zugegriffen werden kann, gibt DAB zurück 400 Bad Request.
Ausführliche Informationen finden Sie unter $select Argument-Referenz.
Ändern von Daten
Die REST-API unterstützt auch Erstellungs-, Aktualisierungs- und Löschvorgänge abhängig von Entitätsberechtigungen.
| Methode | Maßnahme |
|---|---|
POST |
Erstellen eines neuen Elements |
PUT |
Ersetzen eines vorhandenen Elements (oder Erstellen, falls nicht vorhanden) |
PATCH |
Aktualisieren eines vorhandenen Elements (oder Erstellen, falls nicht vorhanden) |
DELETE |
Entfernen eines Elements nach Primärschlüssel |
Beispiel zum Erstellen eines neuen Datensatzes:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Beispiel für die Aktualisierung eines vorhandenen Datensatzes:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Beispiel zum Löschen eines Datensatzes:
DELETE /api/book/id/2000