创建FastAPI项目步骤

FastAPI 项目创建步骤

1. 创建项目根目录

复制代码
mkdir learnFastApi
cd learnFastApi

2. 创建 pyproject.toml(项目配置文件)

在项目根目录下创建,内容如下:

toml 复制代码
[project]
name = "fastapiapp"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "fastapi>=0.136.1",
    "uvicorn>=0.47.0",
]

[project.scripts]
fastapiapp = "fastapiapp.application:main"

[tool.uv]
package = true

[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"

注意

  • [project.scripts] 定义了命令行命令 fastapiapp,安装后可直接在终端运行。
  • [tool.uv] package = true 必须加上,否则 project.scripts 不会生效。
  • 如果不用清华镜像源,可以去掉 [[tool.uv.index]] 部分。

3. 创建源码目录结构

复制代码
mkdir -p src/fastapiapp/router

4. 创建 src/fastapiapp/__init__.py

空文件,标识 fastapiapp 是一个 Python 包。


5. 创建 src/fastapiapp/router/__init__.py

空文件,标识 router 是一个 Python 包。


6. 创建路由文件 src/fastapiapp/router/user.py

python 复制代码
from fastapi import APIRouter

router = APIRouter()


@router.post("/getMeaage")
def getsystem():
    return {"system": "fastapi"}

7. 创建 FastAPI 应用 src/fastapiapp/api.py

python 复制代码
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from fastapiapp.router import user

app = FastAPI(title="RAG API")

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_methods=["*"],
    allow_headers=["*"],
)

app.include_router(user.router)

8. 创建入口启动文件

src/fastapiapp/application.py

python 复制代码
import uvicorn


def main():
    uvicorn.run("fastapiapp.api:app", host="0.0.0.0", port=8002, reload=False)

注意uvicorn.run 的第一个参数是 "fastapiapp.api:app",注意拼写,不要写成 fastpaiapp(少个 i)。

src/fastapiapp/__main__.py

python 复制代码
from fastapiapp.application import main

if __name__ == '__main__':
    main()

__main__.py 的作用:允许通过 python -m fastapiapp 来启动应用。


9. 安装依赖

bash 复制代码
uv sync

这条命令会:

  • 根据 pyproject.toml 安装 FastAPI、Uvicorn 等依赖
  • 创建 .venv 虚拟环境
  • 注册 fastapiapp 命令行命令

10. 运行项目

有两种运行方式:

方式一:使用注册的命令(需要 [tool.uv] package = true

bash 复制代码
uv run fastapiapp

方式二:使用 uvicorn 直接启动

bash 复制代码
uv run uvicorn fastapiapp.api:app --reload

方式三:通过 __main__.py 启动

bash 复制代码
uv run python -m fastapiapp

11. 访问 Swagger 文档

启动成功后,在浏览器中访问:

复制代码
http://localhost:8002/docs

即可看到 FastAPI 自动生成的 Swagger 交互式 API 文档页面,可以直接在页面上测试接口。

FastAPI 还提供 ReDoc 风格的文档,访问 http://localhost:8002/redoc 即可。


最终项目结构

复制代码
learnFastApi/
├── pyproject.toml          # 项目配置文件
├── uv.lock                 # 依赖锁定文件(自动生成)
├── .venv/                  # 虚拟环境(自动生成)
└── src/
    └── fastapiapp/
        ├── __init__.py
        ├── __main__.py      # python -m 入口
        ├── application.py   # 命令行入口(main 函数)
        ├── api.py           # FastAPI 应用实例
        └── router/
            ├── __init__.py
            └── user.py      # 路由示例
相关推荐
吴声子夜歌15 分钟前
网络安全——网络渗透测试(网络扫描)
网络·web安全·php
fish-man17 分钟前
ceshi ceshi yixia
网络·安全·web安全
北斗落凡尘19 分钟前
LangGraph 入门实战(11)--输出模式
后端·python·langchain
anxiao_m22 分钟前
2026制造业云桌面选型攻略,不同生产场景适配方案汇总
大数据·网络·数据库
赵广陆1 小时前
企业实战:web服务集成
前端·pycharm·fastapi
雪碧聊技术1 小时前
安装Python(保姆级教程)
python·版本更新·python下载
吹什么轩2 小时前
linux网络:TCP套接字基础
linux·网络·tcp/ip
志栋智能2 小时前
安全超自动化:构建全方位安全可观测性的基础
网络·安全·自动化
张龙6873 小时前
uv 全面指南:比 pip 快 100 倍的 Python 包管理器,从安装到团队落地
后端·python
mqiqe3 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络