Freigeben über


So rufen Sie REST-Endpunkte auf

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