uvicorn

FastAPI 本身只是一个 Python 库(一堆函数),它不能自己监听端口。需要一个 HTTP 服务器来承载它。

浏览器 ←→ uvicorn(HTTP 服务器) ←→ FastAPI(你的应用)

uvicorn 的角色:

  • 监听 localhost:8000,接收 TCP 连接
  • 把 HTTP 请求解析成 Python 能理解的对象
  • 调用 FastAPI 的 app 处理
  • 把 FastAPI 的返回值转成 HTTP 响应返回

uv run uvicorn src.app.main:app --reload 的含义:

  • uv run — 在虚拟环境中运行
  • uvicorn — 启动 HTTP 服务器
  • src.app.main:app — 加载 src/app/main.py 里的 app 变量
  • --reload — 文件变动自动重启(开发用)