Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

JSON:API vs. REST модули ядра

09/04/2025, by Ivan

Кратко (TL;DR)

Используйте REST, если вам нужно работать с данными вне сущностей. Во всех остальных случаях — выбирайте JSON:API.

Более подробно:

  • Модуль REST из ядра позволяет делать что угодно (любой формат, логика, HTTP-методы) и очень гибок. Мощный, но сложный и более хрупкий.
  • JSON:API фокусируется на главной силе Drupal — сущностях и моделировании данных. Прост и в то же время достаточно мощный для большинства задач.

Сравнительная таблица возможностей

Сравнение возможностей JSON:API и REST
Возможность JSON:API REST Примечание
Сущности как ресурсы ✔️ ✔️ REST: нужно настраивать отдельно для каждого типа сущности. JSON:API: всё доступно по умолчанию.
Пользовательские данные как ресурсы ✔️ REST: возможно через @RestResource. JSON:API работает только с сущностями.
Получение отдельного ресурса ✔️ ✔️
Получение списка ресурсов ✔️ частично REST: нужно использовать Views с REST export.
Пагинация ✔️ только с доп. модулем REST по умолчанию возвращает весь список.
Фильтрация списка ✔️ частично REST: нужно создавать фильтры вручную в Views для каждого поля и оператора.
Сортировка ресурсов ✔️
Вложенные связи (includes) ✔️ Только в HAL+JSON
Без избыточной обёртки полей ✔️ JSON:API нормализует поля проще и понятнее, чем стандартный REST с HAL.
Пропуск ненужных полей ✔️
Последовательность URL ✔️
Обнаружение доступных типов ресурсов ✔️
Формат ответа без привязки к Drupal ✔️ REST: теоретически HAL нейтрален, но на практике содержит "друпализмы".
Библиотеки клиентов ✔️ Для JSON:API есть готовые клиенты на разных языках.
Расширяемая спецификация WIP
Работает без настройки ✔️ REST: каждую сущность нужно конфигурировать, выбирать методы, форматы и т.д. JSON:API: всё включено по умолчанию с учётом прав доступа.

Дополнительная информация

См. обоснование добавления JSON:API в ядро Drupal и описание архитектуры модуля.

Статья с сайта Drupal Documentation.