Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll
03/05/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.