大模型学习日志(2)---FastAPI基础

30 阅读1分钟

FastAPI基础

1、工具准备

pip安装命令

pip install fastapi
pip install "uvicorn[standard]"

2、项目结构

一个典型的 FastAPI 项目应该包含以下文件结构:

fastapi_project/
├── app/
│   ├── __init__.py
│   ├── main.py            # 主应用程序入口
│   ├── api/
│   │   ├── __init__.py
│   │   └── endpoints/     # 具体的 API 端点
│   ├── models/            # 数据模型
│   ├── schemas/           # Pydantic 模式
│   ├── services/          # 业务逻辑层
│   └── database/          # 数据库连接与管理
├── tests/                 # 测试文件
│   ├── __init__.py
│   └── test_main.py       # 主要测试文件
├── requirements.txt       # 项目依赖
└── README.md              # 项目说明文件

3、app与服务

FastAPI启动命令

uvicorn {入口文件名}:app {--host 0.0.0.0} {--port 8000} {--reload}

--port 可以指定端口

--reload 一般只在开发环境中使用,便于快速调试后端代码

4、异步操作

async用于异步操作:async def {函数}():

5、装饰器

@app.get是python的装饰器,用于注册路由,将函数注册到app的路由表中去。

@app.get("/")

6、从文件分离,到路由分类集中

按照业务进行路由的分类管理,再在根目录中进行集中

from fastapi import FastAPI, APIRouter

app = FastAPI()

router = APIRouter()

@router.get("/foo")
async def foo():
    return "foo"

@router.get("/bar")
async def get_item_by_id(item_id: int):
    return "bar"

app.include_router(router, prefix="/items")