为什么选择 FastAPI

FastAPI 依托类型提示与 Pydantic,提供自动校验、自动文档与一流的编辑器体验;基于 Starlette,具备优秀的异步性能。

快速开始

pip install fastapi uvicorn[standard]

# main.py
from fastapi import FastAPI
app = FastAPI()

@app.get("/")
async def root():
    return {"hello": "world"}

# 运行
uvicorn main:app --reload

数据模型与校验

from pydantic import BaseModel
class Item(BaseModel):
    name: str
    price: float
    tags: list[str] = []

@app.post("/items")
async def create_item(item: Item):
    return item

依赖注入与中间件

from fastapi import Depends
from typing import Optional

async def common(q: Optional[str] = None, skip: int = 0, limit: int = 10):
    return {"q": q, "skip": skip, "limit": limit}

@app.get("/search")
async def search(commons: dict = Depends(common)):
    return commons

总结

从小型接口开始使用 FastAPI,逐步引入模型校验、鉴权与中间件。结合异步能力与部署优化(如 Uvicorn/Gunicorn),可获得优异吞吐与开发体验。