FastAPI 是一个现代、快速(高性能)的 Python Web 框架,基于标准 Python 类型提示,专为构建 API 设计。它的主要特点是快速开发、高性能、使用类型提示自动生成文档,以及对异步操作的支持。
1. 安装 FastAPI 和 Uvicorn
在开始使用 FastAPI 之前,你需要安装 FastAPI 和 ASGI 服务器(如 Uvicorn)来运行它。
pip install fastapi uvicorn
2. 创建一个简单的 FastAPI 应用
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {
"Hello": "World"}
说明:
FastAPI()
:创建一个 FastAPI 应用实例。@app.get("/")
:这是一个路径操作装饰器,用于声明 HTTP GET 请求的路径(在这个例子中是根路径/
)。read_root
:路径操作函数,当访问/
时,会返回一个包含"Hello": "World"
的 JSON 响应。
3. 运行应用
使用 Uvicorn 运行你的应用:
uvicorn main:app --reload
main:app
:main
是你的 Python 文件名(不带.py
后缀),app
是 FastAPI 实例。--reload
:启用自动重新加载功能,当代码更改时自动重启服务器。
4. 请求方法示例
FastAPI 支持多种 HTTP 方法,如 GET
、POST
、PUT
、DELETE
等。下面是不同方法的示例。
4.1. GET
请求
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {
"item_id": item_id, "q": q}
说明:
item_id: int
:路径参数,要求为整数类型。q: str = None
:查询参数,可选,默认为None
。
4.2. POST
请求
from pydantic import BaseModel
class Item(BaseModel):
name: