REST API
Данный проект является REST-сервисом написанным на Python, который умеет обрабатывать URL запросы:
/POST/couriers - добавить курьеров
/POST/orders - добавить заказы
/PATCH/couriers/courier_id - изменить параметры для курьера(courier_id)
/POST/orders/assign({courier_id})- назначить заказы(которые он может выполнить) для курьера(courier_id)
/POST/orders/complete({courier_id, order_id, complete_time}) - завершить заказ(order_id) для курьера(courier_id)
/GET/couriers/courier_id - получить данные о курьере(courier_id)
Скачать файлы и поместить в одну папку(folder)
Заустить сервер:
$ python3 path_to_folder/main.py
Flask — фреймворк для создания веб-приложений на языке программирования Python,
нужен для создания сервера и обработки запросов.
sqlite3 - это библиотека, которая предоставляет базу данных на диске,
не требующую отдельного серверного процесса и позволяющую получить доступ к базе данных с использованием нестандартного варианта языка запросов SQL,
нужна для хранения данных о заказах и курьерах.
curl - кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Установка библиотек
$ pip3 install flask
$ pip3 install sqlite3
$ pip3 install curl
Тестирование производится с помощью запросов (в нашем случае через curl).
Тесты с описанием можно посмотреть в файлах TEST_1, TEST_2.
Подробнее о стандартах и поведении обработчика можно увидеть в файле openapi.yaml
Замечание:
Перед каждым тестом следует отчистить базу данных
Для отчистки базы данных:
$ python3 RESTapi/clear_data.py