FastAPI 是一个用于构建 Web API 的现代、快速(基于 Starlette 和 Pydantic)、并且使用 Python 3.7+ 类型提示的框架。它设计得既易于使用又强大,支持异步请求处理,具有自动文档生成功能,以及内置的依赖注入系统。

以下是一个简单的 FastAPI 示例,用于创建一个带有路径参数和请求体验证的 API:
from fastapi import FastAPI, Path, Query, Body

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(
    item_id: int = Path(..., title="The ID of the item to get", ge=1),
    q: str = Query(None, alias="item-query"),
    item: dict = Body(..., example={"name": "item name", "description": "item description"})
):
    return {"item_id": item_id, "q": q, "item": item}

在这个例子中:

  •  @app.get("/items/{item_id}") 表示创建一个处理 GET 请求的路径为 "/items/{item_id}" 的端点。

  •  item_id: int = Path(..., title="The ID of the item to get", ge=1) 定义了一个路径参数 item_id,并进行了类型验证和元数据的添加,如标题和最小值。

  •  q: str = Query(None, alias="item-query") 定义了一个查询参数 q,并提供了别名。

  •  item: dict = Body(..., example={"name": "item name", "description": "item description"}) 定义了一个请求体参数 item,并提供了示例值。


FastAPI 将自动生成交互式文档,并使用 Pydantic 模型进行请求和响应的验证。这只是 FastAPI 功能的一小部分,它还支持异步处理、依赖注入、WebSocket 等多种功能。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7404/FastAPI