FastAPI для начинающих: API с базой данных и тестамиПервый работающий APIПроект FastAPI и первый GET

Проект FastAPI и первый GET

Уроки курсаПроект FastAPI и первый GET

Uvicorn: запуск, reload и остановка

Сохранённый main.py — это просто файл. Сам по себе он не слушает никакой порт и не принимает запросы. Чтобы получить работающий сервер, нужен Uvicorn.

Откройте терминал в папке fastapi-demo (там, где лежит main.py) и выполните:

.\venv\Scripts\python.exe -m uvicorn main:app --reload

На macOS/Linux:

venv/bin/python -m uvicorn main:app --reload

Если окружение активировано, достаточно:

python -m uvicorn main:app --reload

Uvicorn импортирует app из main.py и начинает слушать http://127.0.0.1:8000. В терминале появятся строки вроде:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process

Флаг --reload заставляет Uvicorn следить за изменениями файлов. Когда вы сохраните отредактированный main.py, сервер перезапустится автоматически — перезапускать его вручную не придётся.

Терминал занят процессом сервера. Чтобы отправить запрос, откройте браузер и перейдите по адресу:

http://127.0.0.1:8000/api/rooms

Браузер покажет JSON-массив. Если нужно выполнить другие команды в терминале, откройте второй терминал — не останавливайте сервер.

Пока оставьте сервер работающим — он нужен для проверки /docs ниже. Когда закончите проверку, вернитесь в терминал с Uvicorn и нажмите Ctrl+C: сервер завершит работу, порт освободится.