Megosztás a következőn keresztül:


REST-végpontok meghívása

A Data API Builder (DAB) egy RESTful webes API-t biztosít, amellyel táblákat, nézeteket és tárolt eljárásokat érhet el egy csatlakoztatott adatbázisból. Minden közzétett adatbázis-objektum entitásként van definiálva a futtatókörnyezet konfigurációjában.

Alapértelmezés szerint a DAB a KÖVETKEZŐ helyen üzemelteti a REST-végpontokat:

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

Megjegyzés:

Minden elérési útösszetevő és lekérdezési paraméter megkülönbözteti a kis- és nagybetűket.

A Data API Builderben támogatott kulcsszavak

Concept REST Cél
Projection $select Adja meg, hogy mely mezőket adja vissza
Filtering $filter Sorok korlátozása feltétel szerint
Rendezés $orderby Rendezési sorrend meghatározása
Oldalméret $first Az elemek korlátozása oldalanként
Folytatás $after Folytatás az utolsó oldalról

Alapszintű struktúra

REST API meghívásához hozzon létre egy kérést az alábbi mintával:

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

Példa az entitás összes rekordjának olvasására book :

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

A válasz egy JSON-objektum:

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

Megjegyzés:

Alapértelmezés szerint a DAB lekérdezésenként legfeljebb 100 elemet ad vissza, kivéve, ha másként van konfigurálva (runtime.pagination.default-page-size).

Lekérdezéstípusok

Minden REST-entitás támogatja a kollekciós, valamint az egyrekordos olvasást is.

Operation Leírás
GET /api/{entity} Rekordlistát ad vissza
GET /api/{entity}/{primary-key-column}/{primary-key-value} Egy rekordot ad vissza elsődleges kulcs szerint

Példa egy rekord visszaadására:

GET /api/book/id/1010

Több értéket visszaadó példa:

GET /api/book

Eredmények szűrése

A lekérdezési $filter paraméterrel korlátozhatja a visszaadott rekordokat.

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

Ez a lekérdezés az összes olyan könyvet visszaadja, amelynek a címe "Foundation" (Alapozás) értékű.

A szűrők logikai operátorokat is tartalmazhatnak összetettebb lekérdezésekhez:

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

Tekintse meg a támogatott operátorok $filter argumentumainak hivatkozását, például eq: , ne, lt, leand, és or.

Találatok rendezése

A $orderby paraméter határozza meg a rekordok rendezésének módját.

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

Ez visszaadja a year szerinti csökkenő sorrendben rendezett könyveket, majd a title szerint.

További részletekért tekintse meg a $orderby argumentumra vonatkozó hivatkozást .

Eredmények korlátozása {#first-and-after}

A $first paraméter korlátozza, hogy egy kérelem hány rekordot ad vissza.

GET /api/book?$first=5

Ez az első öt könyvet adja vissza, alapértelmezés szerint az elsődleges kulcs szerint rendezve. A konfigurált maximális oldalméretet is kérheti $first=-1 .

További információ a $first argumentumhivatkozásban.

Folyamatos eredmények

A következő oldal lekéréséhez használja $after az előző válaszból származó folytatási tokent.

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

A $after jogkivonat azonosítja, hogy hol fejeződött be az utolsó lekérdezés. Részletekért lásd $after argumentumhivatkozást .

Mezőválasztás (vetület)

A válaszban szereplő mezők szabályozására használható $select .

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

Ez csak a megadott oszlopokat adja vissza. Ha egy mező hiányzik vagy nem érhető el, a DAB ad vissza 400 Bad Request.

Részletekért lásd $select argumentumhivatkozást .

Adatok módosítása

A REST API az entitásengedélyek függvényében támogatja a létrehozási, frissítési és törlési műveleteket is.

Metódus Tevékenység
POST Új elem létrehozása
PUT Meglévő elem cseréje (vagy ha hiányzik a létrehozás)
PATCH Meglévő elem frissítése (vagy ha hiányzik a létrehozás)
DELETE Elem eltávolítása elsődleges kulcs alapján

Példa új rekord létrehozására:

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

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

Példa meglévő rekord frissítésére:

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

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

Példa rekord törlésére:

DELETE /api/book/id/2000