Таблица jsonapi_resource_config
Таблица jsonapi_resource_config является частью модуля JSON:API в Drupal и отвечает за хранение пользовательских конфигураций ресурсов API. Эти конфигурации позволяют администраторам сайта тонко настраивать, какие поля и свойства сущностей будут доступны через JSON:API, а также управлять их видимостью и доступностью для различных методов HTTP.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
id |
varchar(255) |
Первичный ключ таблицы. Уникальный машинный идентификатор конфигурации ресурса. Формируется по шаблону: [entity_type_id].[bundle] (например, node.article).
|
disabled |
tinyint |
Флаг, указывающий, отключен ли данный ресурс. Значение 1 означает, что ресурс отключен и не будет доступен через JSON:API. Значение 0 означает, что ресурс активен.
|
field_overrides |
longtext |
Данные о переопределениях полей для данного ресурса. Хранится в сериализованном формате. Позволяет изменить свойства поля для API, такие как видимость (disabled) или имя в выводе API (fieldName).
|
dependencies |
longtext |
Описание зависимостей данной конфигурации от других компонентов системы (модулей, тем, конфигураций). Данные хранятся в сериализованном формате. |
Как это работает
Модуль JSON:API предоставляет RESTful интерфейс для сущностей Drupal по умолчанию. Таблица jsonapi_resource_config позволяет переопределить это поведение по умолчанию через пользовательский интерфейс администратора (/admin/config/services/jsonapi) или путем импорта конфигураций.
Когда происходит запрос к JSON:API, система загружает соответствующую конфигурацию ресурса из этой таблицы по его id. Если ресурс помечен как disabled = 1, API вернет ошибку 404 Not Found. Если ресурс активен, настройки из поля field_overrides применяются к ответу API, определяя, какие поля и как будут показаны.
Данные в полях field_overrides и dependencies хранятся в сериализованном виде. Это позволяет гибко хранить сложные структуры данных, которые описывают состояние конфигурации.
Изменения, внесенные через административный интерфейс, сохраняются в эту таблицу как конфигурационные объекты. Эти объекты могут быть экспортированы и импортированы через механизм управления конфигурацией Drupal, что позволяет переносить настройки API между различными окружениями (разработка, staging, production).
Пример SQL-запроса
Получить список всех отключенных ресурсов JSON:API можно следующим запросом:
SELECT id, field_overrides
FROM jsonapi_resource_config
WHERE disabled = 1;
Смотрите также
-
таблицу
config,
в которой хранятся общие объекты конфигурации Drupal -
таблицу
node,
которая содержит основные данные материалов (нод) -
таблицу
node_field_data,
которая хранит данные полей материалов -
таблицу
key_value,
которая используется для хранения различных ключ-значений данных