• Блог
  • Разработка REST API для MODX

Месяц назад в сообществе я поднял тему разработки собственной админки. Главная идея — перехватить инициативу у core-разработчиков MODX и попытаться вклиниться в процесс разработки ядра, чтобы ускорить этот процесс. По итогам обсуждения пришли к пониманию, что для этой цели необходим полноценный API. Имея под рукой такой инструмент, можно создать админку на любой вкус. Но оказалось, что за всё время существования MODX, никто не озадачился созданием данного компонента. Видимо думали, что для CMS он не нужен. Хотя вот у того же WordPress их десятки.

Вывод напрашивается простой — не было, значит будет. Я взялся за эту задачу. В виду крайне ограниченного свободного времени процесс движется не так быстро, как хотелось бы, но уже есть что показать. На данный момент я выбрал следующее техническое решение:

  • В качестве движка я взял микрофреймворк Slim 4. Это версия реализована по последним PSR стандартам и значительно отличается от третьей версии. Это немного тормозит, но в стандарты нужно вникать. Это уже необходимость.
  • Для реализации спецификации JSON:API я выбрал решение neomerx/json-api. Мне оно понравилось больше других реализаций. Правда у него крайне бедная документация. И даже сам автор советует ковырять код и тесты. Чем и приходится заниматься.
  • Для документации я выбрал Swagger.

На данный момент работа идёт над настройкой ядра и разбором пакета neomerx/json-api. Следующий шаг — авторизация. Хочу для этого приспособить OAuth 2.0. Ну и напоследок рутинные описания схем и тестирование.

В общем, работы полно и она интересная. И даже если идея с админкой не взлетит, то компонент для RESTful API, думаю, лишним не будет. Ну а пощупать прототип можно тут. На данный момент доступны пока ресурсы и пользователи. По причине безопасности доступен только метод GET.

Предложения и вопросы оставляйте после звукового сигнала. )

0   713

Комментарии ()

  1. Семён 17 сентября 2019, 16:05 # +1
    Вот это заход! Однозначно нужная штука.
    1. traf.spb 19 сентября 2019, 11:57 # +1
      И даже если идея с админкой не взлетит, то компонент для RESTful API, думаю, лишним не будет.
      :v

      Вы должны авторизоваться, чтобы оставлять комментарии.

      Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.