Инструменты пользователя

Инструменты сайта


rest_api

REST API on python

REST API написанная на языке python. Основная задача - регламентировать взаимодействие всех систем с базой данных. Так же увеличивает защиту данных и разграничивает доступ. Написана с использованием двух основных микро-фреймворков (библиотек): SQLAlchemy и Flask. Тестовая версия с основным функционалом по ссылке.


Инструкция по установке и запуску на ПК

  1. Загрузите репозиторий к себе на компьютер. Убедитесь что путь к папке не содержит пробелов (это особенность python).
  2. Запустите файл install.bat. Он загрузит ещё один репозиторий необходимый для работы АПИ, а так же установит виртуальную среду и все необходимые зависимости. Если возникнут проблемы с этим этапом. Откройте файл install.bat в любом текстовом редакторе и выполните необходимые команды вручную. Зависимости находятся в файле requirements.txt. В дальнейшем все необходимые зависимости так же стоит записывать в этот файл, а поможет вам команда pip freeze > requirements.txt.
  3. Далее необходимо открыть файлы config.py и connect.py. Измените эти файлы в соответствии с вашим подключением к базе данных.
  4. Запустите файл run_api.bat. Появится терминал информирующий вас о том что АПИ поднята и готова к работе. А так же отобразиться сервер к которому необходимо обращаться. Протестировать функциональность можно воспользовавшись программой Postman

Инструкция по установке на сервер

Для начала убедитесь что на вашем сервере установлены следующие компоненты: apache2 и mod_wsgi.

  • Загрузите репозиторий из ветки server_rest_api по следующему пути /var/www/dirname/
  • Рядом с папкой которая появилась в результате клонирования репозитория необходимо создать wsgi файл со следующим содержанием:
  • Отредактируйте файлы config.py и connect.py в соответствии с вашим подключением к базе данных.
  • Создайте файл конфигурации по следующему пути: /etc/httpd2/conf/sites-available/dirname.conf (путь может отличаться в зависимости от сервера. Файл должен иметь следующее содержания:

  • Измените файл в соответствии с вашим сервером, хостом и прочим.
  • Воспользуйтесь командой sudo a2ensite dirname для активации конфигурации (может отличаться) .
  • Далее перезапустите apache2 командой sudo service httpd2 restart (может отличаться)

Немного о структуре и коде

  • В файле Models.py расположены модели баз данных. Они построены с помощью микро-фреймворка SQLAlchemy. Они значительно упрощают работу с данными, взаимодействие с базой данных, а так же облегчают преобразование данных в json-формат.
  • В файле SharixQuery.py расположены запросы к базе данных. Запросы так же реализованы с помощью SQLAlchemy. Ссылка на документацию приведена в самом начале файла.
  • В файлах connect.py и config.py происходит подключение к базе данных.
  • В файле api_config.py расположен ключ для шифрования данных в АПИ.
  • В файле api.py расположен основной код. Строчка @app.route(«/path/api/<id>», methods=['GET']) создает обработчик запросов. Далее метод. И строчка return jsonify(data), 200 где data - это тело запроса, а число - это код ответа сервера. Более подробную информацию можно найти в документации ссылка на которую расположена в начале статьи.
rest_api.txt · Последнее изменение: 2022/08/15 20:26 — evgeny.polivanov

© 2022 ShariX