Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tvůrce rozhraní DAB (Data API Builder) poskytuje webové rozhraní RESTful, které umožňuje přístup k tabulkám, zobrazením a uloženým procedurami z připojené databáze. Každý vystavený databázový objekt je definován jako entita v konfiguraci modulu runtime.
Ve výchozím nastavení DAB hostuje koncové body REST na adrese:
https://{base_url}/api/{entity}
Poznámka:
U všech komponent cesty a parametrů dotazu se rozlišují malá a velká písmena.
Klíčová slova podporovaná v Tvůrci rozhraní Data API
| Koncepce | REST | Účel |
|---|---|---|
| Projection | $select | Vyberte pole, která se mají vrátit |
| Filtering | $filter | Omezení řádků podle podmínky |
| Řazení | $orderby | Definování pořadí řazení |
| Velikost stránky | $first | Omezení položek na stránku |
| Pokračování | $after | Pokračovat z poslední stránky |
Základní struktura
Pokud chcete volat rozhraní REST API, vytvořte požadavek pomocí tohoto vzoru:
{HTTP method} https://{base_url}/{rest-path}/{entity}
Příklad čtení všech záznamů z book entity:
GET https://localhost:5001/api/book
Odpověď je objekt JSON:
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Poznámka:
Ve výchozím nastavení daB vrátí až 100 položek na dotaz, pokud není nakonfigurovaný jinak (runtime.pagination.default-page-size).
Typy dotazů
Každá entita REST podporuje čtení kolekce i jednoho záznamu.
| Operation | Popis |
|---|---|
GET /api/{entity} |
Vrátí seznam záznamů. |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Vrátí jeden záznam podle primárního klíče. |
Příklad vrácení jednoho záznamu:
GET /api/book/id/1010
Příklad vracející mnoho:
GET /api/book
Filtrování výsledků
Pomocí parametru $filter dotazu omezte, které záznamy se vrátí.
GET /api/book?$filter=title eq 'Foundation'
Tento dotaz vrátí všechny knihy, jejichž název je "Foundation."
Filtry můžou zahrnovat logické operátory pro složitější dotazy:
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
Podívejte se na referenci argumentu $filter pro podporované operátory, jako jsou eq, ne, lt, le, and a or.
Řazení výsledků
Parametr $orderby definuje způsob řazení záznamů.
GET /api/book?$orderby=year desc, title asc
Vrátí knihy seřazené podle year sestupně, a následně podle title.
Další podrobnosti najdete v referenčních informacích k argumentu $orderby .
Omezení výsledků :{#first-and-after}
Parametr $first omezuje počet vrácených záznamů v jednom požadavku.
GET /api/book?$first=5
Tím se vrátí prvních pět knih seřazených podle primárního klíče ve výchozím nastavení.
Můžete také použít $first=-1 k vyžádání nakonfigurované maximální velikosti stránky.
Další informace najdete v referenčních informacích k argumentu $first.
Pokračování výsledků
Pokud chcete načíst další stránku, použijte $after s tokenem pro pokračování z předchozí odpovědi.
GET /api/book?$first=5&$after={continuation-token}
Token $after identifikuje, kde byl poslední dotaz ukončen.
Podrobnosti najdete v referenčních informacích k argumentu $after .
Výběr pole (projekce)
Pomocí $select určíte, která pole jsou zahrnuta v odpovědi.
GET /api/book?$select=id,title,price
Tím se vrátí pouze zadané sloupce.
Pokud pole chybí nebo není přístupné, DAB vrátí 400 Bad Request.
Podrobnosti najdete v referenčních informacích k argumentu $select .
Úprava dat
Rozhraní REST API také podporuje operace vytváření, aktualizace a odstraňování v závislosti na oprávněních entity.
| Metoda | Činnost |
|---|---|
POST |
Vytvoření nové položky |
PUT |
Nahrazení existující položky (nebo vytvoření, pokud chybí) |
PATCH |
Aktualizace existující položky (nebo vytvoření, pokud chybí) |
DELETE |
Odebrání položky podle primárního klíče |
Příklad vytvoření nového záznamu:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Příklad aktualizace existujícího záznamu:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Příklad odstranění záznamu:
DELETE /api/book/id/2000