Skip to content

yevzman-swe/REST-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REST-API

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

About

REST API for Yandex Academy backend school

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages