rest_api
Содержание
REST API on python
REST API написанная на языке python. Основная задача - регламентировать взаимодействие всех систем с базой данных. Так же увеличивает защиту данных и разграничивает доступ. Написана с использованием двух основных микро-фреймворков (библиотек): SQLAlchemy и Flask. Тестовая версия с основным функционалом по ссылке.
Инструкция по установке и запуску на ПК
- Загрузите репозиторий к себе на компьютер. Убедитесь что путь к папке не содержит пробелов (это особенность python).
- Запустите файл install.bat. Он загрузит ещё один репозиторий необходимый для работы АПИ, а так же установит виртуальную среду и все необходимые зависимости. Если возникнут проблемы с этим этапом. Откройте файл install.bat в любом текстовом редакторе и выполните необходимые команды вручную. Зависимости находятся в файле requirements.txt. В дальнейшем все необходимые зависимости так же стоит записывать в этот файл, а поможет вам команда
pip freeze > requirements.txt
. - Далее необходимо открыть файлы config.py и connect.py. Измените эти файлы в соответствии с вашим подключением к базе данных.
- Запустите файл 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