Skip to main content

Общие команды

Установка

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 при выводе данных (вплоть до циклов).