为什么选择 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),可获得优异吞吐与开发体验。