Вы не можете добавить ?_format=json
к URL-адресу файла в www.example.com/sites/default/files
потому что это просто каталог файлов сайта.
Так почему же Drupal выдает вам json, когда вы добавляете ?_format=json
к www.example.com/node/123?_format=json
или же www.example.com/media/123?_format=json
? Это потому что это сущности.
Итак, как вы можете использовать ?_format=json
с файлами? Вам нужно будет использовать сущности.
Проще всего это сделать с помощью Медиа-модуля, встроенного в ядро.
Чтобы попробовать это:
- Установите медиа-модуль.
- Перейти к
/admin/структура/медиа
.
По умолчанию будут созданы некоторые основные типы мультимедиа (аудио, документ, изображение, удаленное видео и видео).
Проверьте документ тип носителя, так как это хороший пример использования файлов.
Вы также можете легко создавать новые типы мультимедиа для своего конкретного случая использования.
Затем вы можете использовать ?_format=json
на URL-адресах мультимедиа, которые вы создаете.
Недостатком этого подхода является то, что вы все еще не можете получить json из пути к каталогу файлов; вместо этого вам придется использовать URL-адрес медиа-объекта.
Чтобы автоматически установить URL-адреса медиаобъекта на основе шаблона, вы можете использовать Патавто.