Использование HTTP REST обертки xmysql для работы с MySQL на примере OpenCart
В статье опишу вариант работы с MySQL базой используя HTTP.
- Описание
- Подробнее
Описание
Вводные
- CMS, например OpenCart, использующая MySQL
- Сайт развернут на VDS и есть возможностью использовать node.js
- Нужно организовать обмен с CMS
- Web сервер NGINX
Варианты решения
- Использование модулей работающих с форматом CommerceML и настройкой типового функционала в 1С, пример https://github.com/KirilLoveVE/opencart2-exchange1c или платные аналоги
- Использование модулей которые реализуют обертку SQL запросов и ответных обработок к ним
- Использование прямого подключения к MySQL
- Использование REST API, только платный вариант и со своими проблемами
- Использование HTTP обертки для MySQL
К данному варианту решения подтолкнула статья про PostgREST //sale.itcity.ru/1c/articles/1217831/
Реализация
Для решения задачи использую https://github.com/o1lab/xmysql
Устанавливаю пакет
npm install -g xmysql
Запускаю сервис
xmysql -h localhost -u opencartuser -p yHL0nVwQrQ5k9PSAYAcU -d opencart
Если подключение прошло успешно, то вижу
Generating REST APIs at the speed of your thought..
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Database : opencart
Number of Tables : 136
REST APIs Generated : 2593
Xmysql took : 0.3 seconds
API's base URL : localhost:3000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Создаю перенаправление на обертку на уровне nginx