Три варианта по созданию RESTful API в Joomla

  • 04.09.2014

Сейчас в тренде предлагать RESTful сервисы для любого веб продукта, и Joomla не исключение. Однако в Joomla нет предпочтительного варианта написания RESTful сервисов, поэтому многие пытаются создать свое расширение для включения RESTful сервисов в Joomla. В этом материале рассмотрены доступные на данный момент подходы и преимущества их использования.

Использование типа документа JSON (format=json)

JSON over REST – это, наверное, самый старый и распространённый вариант. Такой метод поддерживается Joomla, и разработчикам всего лишь нужно предоставить view.json.php для отображения данных из модели в JSON. Framework on Framework (FOF) сделал шаг вперед, вам даже не надо создавать этот файл, если по умолчанию вас устраивают такие выходные данные.

Преимущества

  • Не нужны дополнительные расширения
  • Находится непосредственно в компоненте, так что очень просто использовать методы модели

Недостатки

  • Нет хорошего подхода для POST запросов, так что идеально только для выборки данных

API component (com_api)

com_api – это компонент, поддерживаемый Techjoomla и который следует архитектуре, построенной на плагинах. Разработчики пишут свои приложения (плагины), которые содержат несколько ресурсов. Например, приложение User может иметь ресурсы для выборки и сохранения данных пользователя и отдельный ресурс для логина. Аналогично приложение Content может иметь ресурсы для материалов и категорий. Это позволяет реализовывать все GET, POST, PUT и DELETE методы.

Преимущества

  • Очень близко к реализации REST
  • Структура плагина предоставляет гибкость при внедрении REST ресурсов
  • Могут быть созданы сложные модели данных, так как ни один из ресурсов не привязан к модели
  • Возможность реализовать собственную систему обработки ошибок

Недостатки

  • Могут образовываться излишки кода, если методы модели не мог повторно использоваться для выборки и сохранения данных

Концепт приложения webservices

Понимая необходимость в веб-сервисах, Chris Davenport создал очень детальную спецификацию API для рабочей группы по веб-сервисам. Концепт содержит несколько примеров ресурсов и предлагаемую/возможную реализацию веб-сервисов. Эта спецификация на самом деле не описывает, как это должны быть сделано, и больше является руководством по URL и структурам данных. Рабочий пример концепта находится здесь.

Преимущества

  • Как только окрепнет, станет вариантом по умолчанию в Joomla
  • Поддержка многоязычности

Недостатки

  • Находится в ранней стадии разработки

Есть ли еще варианты по созданию RESTful сервисов? Делитесь в комментариях.

Это перевод материала 3 ways to do RESTful APIs in Joomla.

резервное копирование сайта на яндекс диск

Комментарии  

kolio
0 # kolio 01.03.2017 14:45
я так понял даже рабочий пример не вошел в joomla. А жаль.

покопавшись в исходнике видно, что написано всё по уму
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Вадим Куницын
0 # Вадим Куницын 11.03.2017 11:50
Для Joomla написано много хороших решений. Если все их запихать в ядро будет ужас... в целом RESTful API мало кому нужен. По этому оно и существует в виде отдельного решения.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору

Добавить комментарий

Обновить
Защитный код

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Скачать Joomla! 3 Документация Joomla! CMS Свернуть

Расширения Joomla

Новости портала

Новое в блогах

Видео