Потрясающий пример/загрузочный проект RESTful API Python и Flask с элементами ООП и MVC, модульным тестированием, сохраняемостью через SQLAlchemy, безопасностью и аутентификацией, коллажами и некоторыми другими интересными темами в одном пакете.
Это работа в стадии разработки...
Быстрые шаги для начала:
git clone https://github.com/RHT/GWLocationAPI.git
virtualenv venv
(подробнее о настройке собственной виртуальной среды — прочтите мои инструкции ниже: Как настроить виртуальную среду? )source venv/bin/activate
(Mac/Linux) или ./venv/Scripts/activate.bat
( Windows ).pip install -r requirements.txt
python app.py
virtualenv
из терминала/командной строки. Mac/Linux/Windows: pip install virtualenv
или pip3.6 install virtualenv
virtualenv
Это инициализирует virtualenv
в каталоге вашего проекта.
Mac/Linux/Windows: virtualenv venv
или virtualenv venv --python=3.6
virtualenv
Это активирует вашу виртуальную среду. Все pip install
внутри каталога вашего проекта будут влиять только на вашу виртуальную среду, а не на вашу систему.
Mac и Linux: source venv/bin/activate
Windows: ./venv/Scripts/activate.bat
virtualenv
Это остановит ваш сеанс виртуальной среды.
Находясь в каталоге вашего проекта, введите следующее (Mac/Linux/Windows): deactivate
cURL
curl "https://gw-location-api.herokuapp.com"
curl "https://gw-location-api.herokuapp.com/find/bangkok"
curl "https://gw-location-api.herokuapp.com/locations/"
curl "https://gw-location-api.herokuapp.com/locations/1"
curl -i -X "POST" "https://gw-location-api.herokuapp.com/locations/"
curl -i -X "PUT" "https://gw-location-api.herokuapp.com/locations/1"
curl -i -X "DELETE" "https://gw-location-api.herokuapp.com/locations/1"
? = Требуется аутентификация ( создайте пользователя внутри сгенерированного файла базы данных, пока он не будет добавлен в будущих версиях ).
Запустите python tests/model/test_user.py
https://gw-location-api.herokuapp.com
Copyright ©2018 – Роберт Ханссон-Торнеус (RHT)