Přejít k hlavnímu obsahu

Úvod do modulu Drupal JSON:API

Naučte se JSON:API v Drupalu 10 - Úvodní průvodce vytvářením API s modulem JSON:API v ekosystému Drupalu. Objevte základy, konfiguraci a interakci s API.
Drupal
10 min. read
İçerik Yönetim Sistemi (CMS) Seçimi

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. 

Co je JSON:API?

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:

Povolte modul JSON:API Module

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.

Obrázek odebrán.

Konfigurace modulu JSON:API

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í.

Obrázek odebrán.

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.

JSON:API-extras-module-configuration-page

Interakce s JSON:API

Jakmile jste povolili a nakonfigurovali modul JSON:API, je čas otestovat a interagovat s nově vytvořeným API.

Čtení zdrojů

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.

JSON:API-postman-request-response
Ověření pro CRUD operace 

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

  1. Pro tento příklad se ujistěte, že jsou všechny operace povolenyJSON:API-enable-crudObrázek odebrán.
  2. Povolte HTTP Basic Authentication moduleObrázek odebrán.
  3. Vytvořte roli pro uživatele API

    Obrázek odebrán.

  4. Přiřaďte potřebné oprávnění pro tuto roli /admin/people/permissions/api_user
  5. Pro tento příklad se ujistěte, že dáte oprávnění *Article*: Create new content permission
  6. Vytvořte uživatele s API User permission. /admin/people/createObrázek odebrán.
  7. Nakonfigurujte autorizaci v Postmanu. Použijte nově vytvořený účet

    Obrázek odebrán.

  8. Přidejte Content-Type header application/vnd.api+jsonObrázek odebrán.
  9. Aktualizujte body:

    {
     "data": {
       "type": "node--article",
       "attributes": {
         "title": "This page is created trough JSON:API",
         "body": {
           "value": "some body text",
           "format": "plain_text"
         }
       }
     }
    }
  10. Odešlete požadavek a sledujte odpověď. Pokud je stavový kód 201, úspěšně jste provedli ověřený požadavek na váš JSON:API a vytvořili jste uzel s typem článku.article-node-created

Závěr

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í:

Naše Kanceláře

Drupart Locations

Naše oddělení

London

151 West Green Road, London, England

442038156478

[email protected]

Drupart R&D

GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ

+90 262 678 8872

[email protected]

Newark

112 Capitol Trail Suite, A437 Newark DE, 19711

+17406666255

[email protected]

Wiesbaden

Hinterbergstraße 27
65207 Wiesbaden
Deutschland

+49 (0) 6151 – 492 70 23

[email protected]