JSON:API je mocná a standardizovaná specifikace rozhraní API. V jádru Drupalu poskytuje modul nazvaný „JSON:API“ od verze 8 a novější, který implementuje tuto specifikaci JSON:API. Tento modul nabízí bezproblémový způsob vytváření rozhraní API v ekosystému Drupalu, kromě dalších metod, jako je modul Rest Web Service.
JSON:API je specifikace rozhraní API, která určuje, jak klienti mohou požadovat a přijímat zdroje od serveru. Sleduje soubor konvencí pro strukturování požadavků a odpovědí, což usnadňuje interakci vývojářů s rozhraním API. Specifikace zajistí konzistenci, zjednoduší získávání dat a sníží potřebu vlastní konfigurace při vytváření rozhraní API.
Pro podrobnější informace o JSON:API se můžete odkázat na oficiální dokumentaci na adrese https://jsonapi.org.
Nyní se podívejme na kroky k vytvoření JSON:API v Drupalu:
Abychom začali, ujistěte se, že váš web Drupal má povolený modul JSON:API. Naštěstí je modul zahrnut v jádru Drupalu od verze 8 a novější jako jádrový modul, takže není potřeba instalovat další rozšíření.
Chcete-li ověřit, zda je modul povolen, přejděte na Extend
iv administrativním menu Drupalu a zkontrolujte, zda je modul JSON:API
uveden a povolen. Pokud ne, můžete jej povolit odtud.
Modul JSON:API v Drupalu nabízí výchozí omezené možnosti konfigurace, které se zaměřují především na specifikaci povolených operací.
Nicméně, když pocítíte potřebu upravit vlastnosti zdroje, jako jsou cesty API, počty zdrojů nebo výchozí hodnoty pro zahrnutí, nebo pokud chcete rozhraní pro zakázání polí nebo zdrojů, můžete využít modul JSON:API Extras. JSON:API Extras rozšiřuje schopnosti modulu JSON:API a poskytuje další funkce a flexibilitu pro přizpůsobení chování vašeho API podle konkrétních požadavků projektu.
Jakmile jste povolili a nakonfigurovali modul JSON:API, je čas otestovat a interagovat s nově vytvořeným API.
Příklad URL: http://localhost/jsonapi/node/article
Toto URL načte data z typu zdroje article
article node pomocí JSON:API a zobrazí výsledky ve formátu specifikace JSON:API. Postupem podle stanoveného vzoru URL a změnou části node/article
node/article můžete interagovat s jinými typy zdrojů nebo přistupovat k určitým entitám ve vašem webu Drupal.
Interakce s JSON:API je možná pomocí nástrojů jako Postman nebo cURL. Ve výchozím nastavení, při provádění požadavků s těmito nástroji, je uživatel považován za "anonymního", protože tyto nástroje automaticky nezajišťují ověření uživatele. To může omezit přístup k určitým zdrojům na základě oprávnění udělených anonymním uživatelům ve vaší konfiguraci Drupal.
Nicméně spoléhání se pouze na anonymní oprávnění nebude stačit, pokud plánujete vytvářet, aktualizovat nebo mazat zdroje pomocí JSON:API. Pro tyto operace je nutné uživatelské ověření. Drupal nabízí různé mechanismy ověření prostřednictvím různých modulů a jedním z běžně používaných metod je HTTP Basic Auth, který je k dispozici v jádru Drupalu. Navíc komplexnější moduly, jako například Drupal REST & JSON API Drupal REST & JSON API Authentication , mohou poskytovat další metody ověřování a možnosti přizpůsobení.
Kroky pro vytvoření ověřeného požadavku
Vytvořte roli pro uživatele API
*Article*: Create new content
permissionNakonfigurujte autorizaci v Postmanu. Použijte nově vytvořený účet
application/vnd.api+json
Aktualizujte body:
{
"data": {
"type": "node--article",
"attributes": {
"title": "This page is created trough JSON:API",
"body": {
"value": "some body text",
"format": "plain_text"
}
}
}
}
JSON:API je výkonná a standardizovaná specifikace API, která zjednodušuje vytváření API v systému Drupal. Jeho bezproblémová integrace jako jádrového modulu ve verzích Drupal 8 a novějších poskytuje vývojářům standardizované rozhraní API, což snižuje potřebu vlastních konfigurací. Aktivací modulu JSON:API můžete snadno interagovat se daty vašeho webového místa postavenými na Drupalu pomocí jasných URL vzorů a formátu specifikace JSON:API.
Pro další používání a prozkoumání dalších možností modulu JSON:API se odkazujte na Drupal JSON:API Module Documentation. Tato rozsáhlá dokumentace poskytuje cenné informace o pokročilých funkcích, včetně stránkování, řazení, nahrávání souborů a dalších podrobností.
Reference a další čtení: