Общие команды
Установка
pip install fastapi uvicorn
Ручной запуск (api - имя файла, app - имя объекта FastApi)
uvicorn api:app --port 8000 --reload
Запуск uvicorn из python скрипта
Файл main.py
from uvicorn import run
...
app = FastAPI()
...
if __name__ == '__main__':
run(app="main:app", host='0.0.0.0', port=8000, workers=4, log_level='warning')
#run(app="main:app", host='0.0.0.0', port=8000, reload=True)
curl запросы
curl -X 'GET' 'http://127.0.0.1:8000/todo' -H 'accept: application/json'
curl -X 'POST' \
'http://127.0.0.1:8000/todo' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": 1,
"item": "First Todo is to finish this book!"
}'
Автоматическая документация
Swagger
http://ip:port/docs
Redoc
http://ip:port/redoc
Шаблоны Jinja
Поддерживает шаблоны Jinja при выводе данных (вплоть до циклов).
No Comments