Sdílet prostřednictvím


Volání koncových bodů REST

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