Как создать RESTful API с помощью Joomla

Я создаю расширения Joomla с версии v1, но вскоре мне нужно взять API live, который я создал и использовал некоторое время. В настоящее время я использую Joomla 2.5 и написал плагины для этой системы:

https://github.com/techjoomla/com_api

Прежде чем отправиться жить, я хотел бы как можно больше в будущем доказать систему. Этот компонент API только недавно начал обновляться для работы с Joomla v3, поэтому в настоящее время он не позволяет обновлять сайт. Я также думаю, что разделение публичного API и пользовательского портала имеет смысл, поскольку нет никакой выгоды от того, что он является интегрированным расширением, поскольку API будет использоваться мобильными приложениями.

Текущий план состоит в том, чтобы перестроить API в субдомене, который позволит нам обновить пользовательский портал. Я читал о новой структуре Joomla, которая выглядит захватывающей. Будет ли это подходящим для создания RESTful API для наших мобильных приложений? Если да, то подскажите, как начать работу? Я читал, что FoF можно использовать для создания API, будет ли это хорошим выбором? Я видел, что проект Kickstarter, намеревающийся построить именно такой API, является потенциальным вариантом? Должен ли я просто отменить текущий сайт 2.5 для субдомена, чтобы он запускал API?

Любые предложения по наилучшему подходу для создания API RESTful на основе Joomla для мобильного взаимодействия будут оценены.

11 голосов | спросил Joe P 12 Maypm14 2014, 14:08:53

4 ответа


8

Из моего опыта:

О структуре Joomla

Я попытался создать простой RESTful API для интегрированной проверки подлинности на основе структуры Joomla. Это довольно сложный, совершенно отличный от текущего Joomla API. Кроме того, текущий исходный код не может быть скопирован, и библиотеки могут возвращать неожиданные результаты (выполняются в другой среде). Я собираюсь подождать, пока не появится больше кода, и он будет иметь более широкое применение.

О структуре FOF

В настоящее время я разрабатываю только FOF. Довольно удобно, много RAD, автоматическая настройка и т. Д .; и код совместим с J2.5 /J3.

Для RESTful API вы можете просто захватить todo-fof-example и добавить контроллер с API. Пример:

public function getIndexStatus ()
{
    //Предотвращение CSRF
    if ($ this-> csrfProtection)
    {
        $ Этом- > _csrfProtection ();
    }

    $ message ['status'] = true;
    $ message ['error_message'] = 'Status Ok';

    $ message = json_encode ($ message);
    echo $ message;
    промывать();

    JFactory :: getApplication () - > близко ();

}

Кроме того, вы можете воспользоваться автоматическим просмотром json. просмотр (default.php) может генерировать json-выход (просто добавив default_json.php и echo json_encode ...)

ответил Anibal 12 Maypm14 2014, 21:31:35
6

com_api, безусловно, является хорошим способом создания служб REST для вашего сайта, если само расширение не основано на FOF /RAD. Однако будьте осторожны с несколькими ошибками, если вы планируете создать отдельный экземпляр Joomla только для API

  • Специфичные для домена (например: если вы поддерживаете регистрацию пользователей, то приветственное письмо будет включать ссылку на субдомен API). Это можно было бы смягчить, играя с переменной сервера PHP.
  • Точно так же пути изображения и т. д. должны быть правильными, если вы не используете S3

Кроме того, я уверен, что не должно быть никаких проблем, так как это будет продолжаться до тех пор, пока не будет фактически создан Joomla способ создания API.

Отказ от ответственности: я являюсь сторонником https://github.com/techjoomla/com_api

ответил Ashwin Date 16 Maypm14 2014, 23:04:09
1

Мои два цента:

Для клиента мне нужно было получить доступ к содержимому своего сайта joomla из приложения для смартфона. Содержимое было помещено в com_content, поэтому изначально я использовал каналы obRSS. Затем я нашел jBackend на JED и попробовал. Он доступен здесь http://www.selfget.com/products/jbackend.html Код кажется очень чистым, и он поддерживает запросы RESTful и ответы JSON. Онлайн-документация ограничена, но достаточно ясна для техников. К сожалению, на данный момент он поддерживает только com_user и com_content, но в моем случае это было хорошо. Теперь я должен использовать его для другого клиента, который использует K2 CCK. Я пытаюсь создать собственный плагин для доступа к статьям и категориям K2, но, по крайней мере, я сохраню весь код управления запросами. Я отправил электронное письмо разработчику, и он сказал мне, что он работает над дополнительными модулями, такими как форум K2 и Kunena, это очень многообещающее расширение.

ответил WizKid 11 J0000006Europe/Moscow 2014, 01:29:11
1

Следующий сайт, по-видимому, является отличным ресурсом для руководства по созданию RESTful JSON API:

http://jsonapi.org/

Для чего это стоит, я также запускаю продукт API для Joomla 3.4.x, называемый cAPI http://getcapi.org .

Основным отличием здесь является то, что я поставил свою структуру маршрутизации на тонкую микроархитектуру. Это позволяет мне включать уже испытанную и надежную структуру в экземпляр приложения Joomla. Я также создаю архитектуру плагинов для маршрутов обслуживания, открывая дверь для надстроек и безопасности веб-сервисов.

Вы можете найти дополнительную информацию из других сообщений, здесь:

https://stackoverflow.com/questions/26340885/rest -api-для-Joomla-3-0 /32706378 # 32706378

Сообщите мне, если у вас есть какие-либо вопросы.

ответил Steve Tsiopanos 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 25 Sep 2015 02:09:51 +0300 2015, 02:09:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132