Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Data API Builder (DAB) tillhandahåller ett RESTful-webb-API som gör att du kan komma åt tabeller, vyer och lagrade procedurer från en ansluten databas. Varje exponerat databasobjekt definieras som en entitet i körningskonfigurationen.
Som standard är DAB värd för REST-slutpunkter på:
https://{base_url}/api/{entity}
Anmärkning
Alla sökvägskomponenter och frågeparametrar är skiftlägeskänsliga.
Nyckelord som stöds i Data API Builder
| Begrepp | REST | Avsikt |
|---|---|---|
| Projection | $select | Välj vilka fält som ska returneras |
| Filtering | $filter | Begränsa rader efter villkor |
| Sortering | $orderby | Definiera sorteringsordningen |
| Sidstorlek | $first | Begränsa objekten per sida |
| Fortsättning | $after | Fortsätt från den sista sidan |
Grundläggande struktur
Om du vill anropa ett REST-API skapar du en begäran med det här mönstret:
{HTTP method} https://{base_url}/{rest-path}/{entity}
Exempel på läsning av alla poster från entiteten book :
GET https://localhost:5001/api/book
Svaret är ett JSON-objekt:
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Anmärkning
Som standard returnerar DAB upp till 100 objekt per fråga om inget annat har konfigurerats (runtime.pagination.default-page-size).
Frågetyper
Varje REST-entitet har stöd för läsningar av både samling och enskild post.
| Verksamhet | Beskrivning |
|---|---|
GET /api/{entity} |
Returnerar en lista med dataposter |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Returnerar en post efter primärnyckel |
Exempel på en funktion som returnerar ett databaspost.
GET /api/book/id/1010
Exempel som returnerar många värden:
GET /api/book
Filtrera resultat
$filter Använd frågeparametern för att begränsa vilka poster som returneras.
GET /api/book?$filter=title eq 'Foundation'
Den här frågan returnerar alla böcker vars titel är lika med "Foundation".
Filter kan innehålla logiska operatorer för mer komplexa frågor:
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
Se referensen för $filter-argumentet för att få information om operatorer som stöds, till exempel eq, ne, lt, le, and och or.
Sorteringsresultat
Parametern $orderby definierar hur poster sorteras.
GET /api/book?$orderby=year desc, title asc
Detta returnerar böcker ordnade efter year fallande, sedan efter title.
Mer information finns i referensen för $orderby argument .
Begränsa resultat {#first-and-after}
Parametern $first begränsar hur många poster som returneras i en begäran.
GET /api/book?$first=5
Detta returnerar de första fem böckerna, ordnade efter primärnyckel som standard.
Du kan också använda $first=-1 för att begära den konfigurerade maximala sidstorleken.
Läs mer i argumentreferensen för $first.
Fortsatt resultat
Om du vill hämta nästa sida använder du $after med fortsättningstoken från föregående svar.
GET /api/book?$first=5&$after={continuation-token}
Token $after identifierar var den senaste frågan slutade.
Mer information finns i $after argumentreferens .
Fältval (projektion)
Använd $select för att styra vilka fält som ingår i svaret.
GET /api/book?$select=id,title,price
Detta returnerar endast de angivna kolumnerna.
Om ett fält saknas eller inte är tillgängligt returnerar 400 Bad RequestDAB .
Mer information finns i $select argumentreferens .
Ändra data
REST-API:et stöder även åtgärder för att skapa, uppdatera och ta bort beroende på entitetsbehörigheter.
| Metod | Åtgärd |
|---|---|
POST |
Skapa ett nytt objekt |
PUT |
Ersätt ett befintligt objekt (eller skapa om det saknas) |
PATCH |
Uppdatera ett befintligt objekt (eller skapa om det saknas) |
DELETE |
Ta bort ett objekt efter primärnyckel |
Exempel på att skapa en ny post:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Exempel på uppdatering av en befintlig post:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Exempel på borttagning av en post:
DELETE /api/book/id/2000