Po rozjetí Headless CMS serveru Strapi se pustíme do zprovoznění GraphQL. Prvním krokem bude vytvoření jednoduchého typu dat, nějaké entity kvůli testování, nastavení práv a následně přidání pluginu pro GraphQL.
Vytvoření typu a dat
Pomocí Content-Type Builderu vytvoříme nový typ. Ten pojmenujeme v mém případě jako „Book“ a vytvoříme jen několik testovacích fieldů: title, author, UUID a description. Vše nastavíme pomocí jednoduchého UI průvodce, který nám se vším pomůže. Viz přiložené screeny:



Po vytvoření typu ještě přidáme nějakou entitu nebo dvě, kvůli testování pluginu pro GraphQL. To uděláme v části Content Manager a v příslušném typu.

Vytvoření uživatele
Obdobně jak jsem přidal data typu Book, přidáme i uživatele. Ten je nutný pro další práci při testování pluginu GraphQL. Při vytváření uživatele nesmíme zapomenout nastavit i roli na Authenticated.

Přiřazení práv k typu
Po vytvoření dat a uživatele ještě musíme nastavit přístup k těmto právům. V sekci Settings -> Roles -> Authenticated můžeme nastavit Permissions k jednotlivým typům. V našem případě půjde o Book kde povolíme všechny akce a uložíme změny.

Teď máme systém připravený na instalaci a vyzkoušení pluginu pro GraphQL.
Instalace a test pluginu GraphQL
Plugin nainstalujeme jednoduše pomocí následujícího příkazu a server znovu spustíme:
npm run strapi install graphql
Po instalaci a spuštění serveru si zobrazíme grafické rozhraní GraphQL na adrese /graphql, konkrétně pro defaultní port bude adresa vypadat následovně http://localhost:1337/graphql . Před jakoukoli prací se ale musíme přihlásit, což uděláme následujícím dotazem. Jen upozorňuji že do GraphQL se nepřihlašujete účtem jako do administrace Strapi ale uživatele vytvořeným dříve v Content Manageru Strapi.

Po přihlášení dostanete jwt token, který je nutné vložit do hlavičky požadavků GraphQL aby je server dokázal authorizovat. To provedeme jednoduše vložením JSONu do části HTTP HEADERS ve spodní části GraphQL toolu. JSON bude vypadat přibližně následovně, kde za ***JWT*** vložte získaný token po přihlášení. Upozorňuji že za slovem Bearer následuje mezera než se vkládá samotný token
{"Authorization": "Bearer ***JWT***"}
Nyní již vyzkoušíme jednoduché query na Books s autorizací pomocí hlavičky.

Napsat komentář