На данном сайте используются cookie-файлы и аналогичные технологии. Если, прочитав это сообщение, вы остаетесь на сайте, это означает, что вы не возражаете против использования этих технологий.
Подробнее Хорошо
Сервер API к любой базе данных за 20 минут
Блог
Андрей Викторович
Специалист по внедрению технических инноваций
04. 05. 2017г.
0

Сервер API к любой базе данных за 20 минут

Что это и зачем мне?

Представьте, что у вас есть некоторая база данных, будь то база данных сайта, или товары в системе управления торговлей, или что-либо еще с одной стороны, и любое (мобильное, веб, windows, linux) создаваемое приложение - с другой. Тогда вам понадобится открыть доступ к базе данных через Application Programming Interface (API) - средство доступа к данным. Это особенно необходимо, когда к одной базе обращаются самые разные клиентские приложения: мобильные, веб-сайт, некоторая система анализа и учета.

Сервер API позволяет с помощью обычных запросов получать и изменять данные в базах данных. Мы рассмотрим решение, которое развивает компания IBM на основе node.js под названием loopback. Оно запустит нам сервер API к практически любому типу баз данных (postgresql, mongodb, oracle, mysql и множество других). В будущем, когда вы решите заменить одну базу данных на другую - вам не придется менять клиентские приложения.

Для примера мы возьмем уже готовую базу данных wordpress-сайта.

Как сделать?

1. Установить консольную утилиту loopback глобально в систему:

npm install --global loopback-cli

2. Создать приложение (назовем его datapoint):

lb app datapoint; cd datapoint

3. Установить коннектор для mysql:

npm install --save loopback-connector-mysql

4. Установить данные подключение, ответив на вопросы в консоли:

lb datasource

(в нашем примере мы назовем источник данных как "wordpress")

5. Создать скрипт, который по существующей базе данных создаст модели данных. Для этого:

5.1 создаем файл server/initialization.js,

5.2 создаем директории common/ и common/models/ в директории проекта,

5.3 в файл server/initialization.js вставляем следующий код: https://pastebin.com/gDBZPw0W 

(заменив в нём wordpress на название источника данных, а tailor - на название вашей базы данных в mysql, это в моем случае она tailor:))

6. Запустить инициализацию из корневой директории проекта:

node server/initialization.js

7. Запустить собственно сам сервер API

node . 

Что получаем?

Теперь по адресу http://localhost:3000 у нас готовое API к нашему источнику данных. С ним легко "поиграться" по адресу http://localhost:3000/explorer/, пример того что там можно увидеть приведен ниже на снимке экрана.


Чтобы получить все посты в формате json, достаточно выполнить следующий запрос: http://localhost:3000/api/wp_posts.

В итоге

При необходимости, loopback позволяет, ограничивать доступ по специальному коду (токену), создавать пользователей и роли, разграничивая им права доступа и много другое - вплоть до возможности подписки на события при изменениях в данных.

Если вы не знаете зачем вам это нужно, то... нет, вам это действительно нужно, когда у вас есть данные, с которыми вы хотели бы работать в других программах. Не стоит предполагать, что все такие программы надо писать. Приведу пример: таблицы Google позволяют одной простой формулой подключать такое API и наводить любую аналитику с такими данными.

Формула не секретна :) Попробуйте ввести в таблице Google в ячейку

=ImportJSON("http://date.jsontest.com"; ""; "noInherit,noTruncate")

(подсказка, у вас не сработает, если только вы не скопировали предварительно этот скрипт)

Скопировав и сохранив скрипт (инструменты -> редактор скриптов), на основе этой формулы вы получите данные прямо в таблицу:

api12.jpg

А теперь подсчитайте, во сколько бы вам обошлась бы возможность заказать такой аналитический инструмент по вашим данным при разработке с нуля... Хорошо, не будем считать. С нуля уже не надо :)
Оставить комментарий
Назад
В корзине 0 товаров на 0 р.