Delen via


REST-eindpunten aanroepen

Data API Builder (DAB) biedt een RESTful-web-API waarmee u toegang hebt tot tabellen, weergaven en opgeslagen procedures vanuit een verbonden database. Elk weergegeven databaseobject wordt gedefinieerd als een entiteit in de runtimeconfiguratie.

STANDAARD host DAB REST-eindpunten op:

https://{base_url}/api/{entity}

Opmerking

Alle padonderdelen en queryparameters zijn hoofdlettergevoelig.

Trefwoorden die worden ondersteund in Data API Builder

Concept REST Purpose
Projection $select Kiezen welke velden u wilt retourneren
Filtering $filter Rijen beperken op conditie
Sorteervolgorde $orderby De sorteervolgorde definiëren
Paginaformaat $first De items per pagina beperken
Voortzetting $after Doorgaan vanaf de laatste pagina

Basisstructuur

Als u een REST API wilt aanroepen, maakt u een aanvraag met behulp van dit patroon:

{HTTP method} https://{base_url}/{rest-path}/{entity}

Voorbeeld van het lezen van alle records uit de book entiteit:

GET https://localhost:5001/api/book

Het antwoord is een JSON-object:

{
  "value": [
    { "id": 1, "title": "Dune" },
    { "id": 2, "title": "Foundation" }
  ]
}

Opmerking

Standaard retourneert DAB maximaal 100 items per query, tenzij anders geconfigureerd (runtime.pagination.default-page-size).

Querytypen

Elke REST-entiteit ondersteunt zowel leesacties voor verzamelingen als op één enkele record.

Operation Beschrijving
GET /api/{entity} Retourneert een lijst met records
GET /api/{entity}/{primary-key-column}/{primary-key-value} Retourneert één record per primaire sleutel

Voorbeeld van het retourneren van één record:

GET /api/book/id/1010

Voorbeeld van het teruggeven van veel:

GET /api/book

Resultaten filteren

Gebruik de $filter queryparameter om te beperken welke records worden geretourneerd.

GET /api/book?$filter=title eq 'Foundation'

Met deze query worden alle boeken geretourneerd waarvan de titel gelijk is aan "Foundation."

Filters kunnen logische operators bevatten voor complexere query's:

GET /api/book?$filter=year ge 1970 or title eq 'Dune'

Zie de $filter argumentreferentie voor ondersteunde operators, zoals eq, ne, lt, le, anden or.

Resultaten sorteren

De $orderby parameter definieert hoe records worden gesorteerd.

GET /api/book?$orderby=year desc, title asc

Dit retourneert boeken gesorteerd op year aflopend en vervolgens op title.

Zie de $orderby argumentreferentie voor meer informatie.

Resultaten {#first-and-after} beperken

De $first parameter beperkt het aantal records dat in één aanvraag wordt geretourneerd.

GET /api/book?$first=5

Dit retourneert standaard de eerste vijf boeken, gesorteerd op primaire sleutel. U kunt ook het $first=-1 geconfigureerde maximale paginaformaat aanvragen.

Meer informatie vindt u in de referentie van $first argument.

Doorlopende resultaten

Als u de volgende pagina wilt ophalen, gebruikt u $after met het doorlooptoken uit het vorige antwoord.

GET /api/book?$first=5&$after={continuation-token}

Het $after token geeft aan waar de laatste query is beëindigd. Zie $after argument referentie voor details.

Veldselectie (projectie)

Hiermee $select kunt u bepalen welke velden zijn opgenomen in het antwoord.

GET /api/book?$select=id,title,price

Hiermee worden alleen de opgegeven kolommen geretourneerd. Als een veld ontbreekt of niet toegankelijk is, geeft DAB als resultaat 400 Bad Request.

Zie $select argumentreferentie voor meer informatie.

Gegevens wijzigen

De REST API biedt ook ondersteuning voor bewerkingen voor maken, bijwerken en verwijderen, afhankelijk van entiteitsmachtigingen.

Methode Handeling
POST Een nieuw item maken
PUT Een bestaand item vervangen (of maken als dit ontbreekt)
PATCH Een bestaand item bijwerken (of maken als dit ontbreekt)
DELETE Een item verwijderen op basis van primaire sleutel

Voorbeeld van het maken van een nieuwe record:

POST /api/book
Content-type: application/json

{
  "id": 2000,
  "title": "Leviathan Wakes"
}

Voorbeeld van het bijwerken van een bestaande record:

PATCH /api/book/id/2000
Content-type: application/json

{
  "year": 2011,
  "pages": 577
}

Voorbeeld van het verwijderen van een record:

DELETE /api/book/id/2000