Příklady rozšířeného dotazování REST API ABRA Gen

Dále jsou uvedeny příklady pro rozšířené dotazování - JSON dokument (v těle POST požadavku).

Rozšířené dotazování se od základního liší formou vstupních dat (dotazu) a způsobem jejich předávání. Dotaz je předáván v podobě JSON dokumentu (tzv. dotazový objekt) v těle HTTP POST požadavku.

Jsou dva druhy resourců (zdrojů), na kterých je možné rozšířené dotazování použít:

  • První variantou je zaslání HTTP požadavku na subresource kolekce BO /{connection}/{kolekce BO}/query, pak není nutné uvádět vlastnost class (je známa díky nadřízené kolekci BO).
  • Druhou variantou je zaslání HTTP požadavku na obecný resource pro rozšířené dotazování /{connection}/query, pak je nutné uvádět vlastnost class (kvůli obecné povaze zdroje není známa).

U příkladů je předpokládáno odesílání na obecný resource pro rozšířené dotazování, vlastnost objektu dotazu class je tedy vždy specifikována.

Parametr /query provádí dotaz na základě práv uživatele v závislosti na třídě (class), nad kterou dotaz běží.

  • Třída s BO kontrolerem - Práva se vyhodnocují podle kontroleru spojeného s touto třídou (např. issuedinvoices).
  • Třída bez BO kontroleru - Práva se ověřují na základě zpřístupnění položek pro API. Pokud nelze nastavit oprávnění ke spuštění dotazu, dotaz nebude proveden.

Uživatelé mají právo spouštět dotazy (opRun) na vybrané položky. Přístup k dalším položkám se nastavuje v agendě Zpřístupnění položek pro API.