-

Headless CMS. Jak wystawiać dane z użyciem modułów REST API i JSON API?

Headless CMS, czyli system zarządzania treścią bezpośrednio niepowiązany z warstwą frontendową, umożliwia elastyczne wystawianie danych dla różnych aplikacji. W systemach takich jak Drupal koncepcja ta staje się szczególnie istotna dla zespołów, które chcą budować nowoczesne aplikacje z oddzielną warstwą frontową. W tym wpisie krok po kroku przeprowadzę Cię przez proces wystawiania danych z Drupala przy użyciu REST API i JSON API. Zobaczysz, jak dostosować widoki, generować treści i zarządzać ustawieniami, aby zapewnić płynną współpracę z frameworkami frontendowymi. Zachęcam do przeczytania artykułu lub obejrzenia wideo z serii Nowoczesny Drupal.

Wymagane moduły i narzędzia do pracy z headless CMS

Instalujemy Drupala. Na początek potrzebujemy dwóch kluczowych modułów:

  1. RESTful Web Services – włącza podstawowe funkcje API w Drupalu i automatycznie aktywuje moduł Serialization.
  2. JSON API (wraz z  JSON API Extras) – moduły zapewniają kompleksowe możliwości wystawiania danych w formacie JSON. Ponadto JSON API Extras pozwala na dostosowanie ścieżek i ustawień endpointów, co jest kluczowe dla sprawnej integracji.
Moduły RESTful Web Services, JSON API i JSON API Extras widoczne w panelu Drupal 10.

 

Każdy z tych modułów jest dostępny w Drupal 10.

Tworzenie widoków dla danych API

Aby rozpocząć wystawianie danych o artykułach w formacie JSON, musimy skonfigurować widoki Drupala. Proces ten obejmuje kilka kroków:

  1. Tworzenie nowego widoku – po zainstalowaniu niezbędnych modułów, przechodzimy do sekcji “Views” w panelu administracyjnym. Tworzymy widok, wybierając typ danych, które chcemy wystawić (np. lista artykułów).
Tworzenie nowego widoku z danymi “lista artykułów” do wystawienia z Drupala, systemu headless CMS.

 

  1. Formatowanie JSON – konfigurujemy widok tak, aby dane były dostępne w formacie JSON, a także definiujemy ścieżkę dostępu, np. API/V1/articles. Dzięki wersjonowaniu ścieżek możemy rozwijać API bez konieczności ingerowania w działające już wersje.
Zmiana formatu danych na json w Drupalu przy wystawianiu danych z headless CMS.

 

  1. Filtrowanie i wybór pól – aby wyświetlać tylko potrzebne dane, dodajemy filtry, które ograniczą widok do określonych typów treści, np. artykułów. Wybieramy też konkretne pola (np. tytuł, autor, data utworzenia), które będą udostępniane w API.

Widok w Drupalu z REST export z wyświetlaniem i filtrowaniem danych wystawianych z headless CMS.

 

W Chrome widoczna jest przejrzysta struktura JSON, która zawiera identyfikatory UID i NID dla każdego węzła. JSON wyświetla pełną listę artykułów dostępnych w systemie, umożliwiając szybki wgląd w zgromadzone dane.

Widok wystawionych danych o artykułach na stronie internetowej na Drupalu w przeglądarce.

 

Dostosowywanie formatu JSON

W Drupalu można dostosować sposób wyświetlania danych JSON tak, aby był on przejrzysty i łatwy do interpretacji:

  • Usuwamy niepotrzebne pola – ograniczamy pola JSON do tych, które są istotne, eliminując zbędne dane z Drupala, jak timestamp czy informacje o rewizjach.
  • Zmieniamy aliasy pól – dla większej przejrzystości zmieniamy nazwy pól na bardziej przyjazne, np. zamiast nid stosujemy article_id.
  • Czyścimy znaczniki HTML – polecenie „strip HTML” umożliwia usunięcie znaczników HTML z pól tekstowych, co upraszcza ich prezentację.
Konfigurowanie pola z tytułem i zawartością na potrzeby ograniczenia wyświetlanych danych.


Wykorzystanie JSON API i JSON API Extras w headless CMS

JSON API to rozbudowane narzędzie w Drupalu, które pozwala na obsługę operacji CRUD (ang. Create, Read, Update, Delete) z poziomu API. JSON API Extras daje dodatkową kontrolę nad ścieżkami i strukturą danych.

  1. Konfigurujemy CRUD – w ustawieniach JSON API określamy, jakie operacje (Create, Read, Update, Delete) są dostępne. Dzięki temu możemy np. pozwolić na dodawanie lub edytowanie treści bezpośrednio przez API. My ustawiamy pełne CRUD.
Obsługa operacji CRUD (ang. Create, Read, Update, Delete) z poziomu JSON API w Drupalu.

 

  1. Personalizacja ścieżek i pól z JSON API Extras – moduł JSON API Extras umożliwia zmianę nazw pól. My dla przykładu tworzymy w JSON API Extras spersonalizowaną ścieżkę API/V2/articles.
Ustawianie prefixu dla ścieżki w module JSON API Extras w Drupalu, systemie headless CMS.

 

  1. Tworzymy filtrowanie i aliasowanie – JSON API Extras pozwala również na dostosowanie struktury JSON, eliminację zbędnych pól oraz nadawanie przejrzystych nazw, co znacząco poprawia czytelność danych. Korzystając z tej funkcjonalności, zmienimy sobie np. title na article.
Wyświetlanie danych z Drupala z wykorzystaniem modułów JSON API i JSON API Extras.

 

Zaawansowana konfiguracja z JSON API Extras

JSON API Extras zapewnia zaawansowane opcje dostosowywania ścieżek i struktury danych JSON, umożliwiając m.in. tworzenie alternatywnych ścieżek dla każdej wersji API. Przykładem może być nadanie ścieżce formatu API/V2/contact/feedback, co pomaga utrzymać porządek w strukturze danych oraz umożliwia korzystanie z rozbudowanych opcji filtrowania i edycji.

Przesyłanie danych do Drupala

Za pomocą JSON API możliwe jest przesyłanie danych do Drupala z zewnętrznych aplikacji poprzez zastosowanie formularza Contact Form.

Przesyłanie danych do Drupala z użyciem formularzy kontaktowych “Contact Forms”.

 

Formularze kontaktowe (Contact Forms) to przydatne narzędzie do zbierania danych od użytkowników, takich jak feedback czy zapytania. W połączeniu z modułem Contact Form Storage, formularze umożliwiają zapisywanie przesłanych danych wewnątrz Drupala, co ułatwia ich przeglądanie i zarządzanie nimi. Umożliwa to:

  • Dostosowanie ścieżek i pól – dzięki JSON API Extras nadajemy ścieżkom i polom przejrzyste nazwy.
  • Testowanie przed wdrożeniem – testy w Postmanie pozwalają nam upewnić się, że dane są przesyłane poprawnie i obsługiwane zgodnie z założeniami.

Testowanie endpointów przy pomocy Postmana

Testowanie wystawionych danych API możemy wykonać za pomocą narzędzia Postman, które umożliwia szybkie i łatwe testowanie różnych metod HTTP oraz struktury JSON. Dzięki temu możemy na przykład:

  • Sprawdzić odczyt danych – testowanie, czy dane są poprawnie wyświetlane i czy endpoint zwraca poprawne informacje.
  • Symulować dodawanie i aktualizowanie danych – JSON API pozwala na dodawanie nowych wpisów lub ich edytowanie, a testy w Postmanie umożliwiają dokładne sprawdzenie, jak dane są przekazywane i odbierane.
Widok narzędzia Postman służącego do testowania działań wykonywanych pracy z API.

 

Wystawianie danych z headless CMS - podsumowanie

System headless CMS, taki jak Drupal, to doskonałe rozwiązanie dla nowoczesnych aplikacji, umożliwiające elastyczne i łatwe wystawianie danych za pomocą RESTful Web Services i JSON API. Dzięki konfiguracji JSON API oraz JSON API Extras masz szerokie możliwości dostosowania ścieżek i struktury danych, co pozwala na tworzenie skalowalnych rozwiązań i współpracę z dowolnymi frameworkami.

Jeśli jednak napotkasz wyzwania przy bardziej zaawansowanych konfiguracjach lub potrzebujesz wsparcia przy wystawianiu danych w innych formatach, nasi eksperci z agencji Drupala są gotowi, by Ci pomóc.

***
Ten artykuł powstał na bazie materiału wideo. Zapraszamy do subskrybowania kanału Nowoczesny Drupal, gdzie w każdy piątek o 12:00 publikujemy nowy film. Nasi eksperci prezentują rozwiązania lub gotowe narzędzia, które pomogą Ci wykorzystać pełen potencjał Drupala.

-