路由
在FastAPI中,配置路由和端点是通过装饰器实现的,这使得代码结构清晰且易于管理。下面是一个简单的示例来说明如何配置路由和定义端点。
快速接入
通过如下步骤实现基础的api创建:
- 导入FastAPI: 首先,确保你已经安装了FastAPI库,并在你的代码文件顶部导入它。
- 创建FastAPI应用实例: 使用
FastAPI()
创建一个FastAPI应用实例。 - 定义路径操作函数: 这些函数处理具体的HTTP请求,比如GET、POST等。
- 使用装饰器添加路由: 使用
@app.get()
,@app.post()
等装饰器将这些函数绑定到特定的URL路径上,从而定义端点。
代码如下;
from fastapi import FastAPI
# 创建FastAPI应用实例
app = FastAPI()
# 定义一个简单的路径操作函数,处理根路径"/"的GET请求
@app.get("/")
async def read_root():
return {"Hello": "World"}
# 添加另一个端点,处理"/items/{item_id}"的GET请求,其中"{item_id}"是一个路径参数
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}
在这个例子中:
@app.get("/")
装饰器定义了一个处理GET请求的端点,当访问应用的根路径("/")时,会调用read_root
函数并返回一个JSON响应。@app.get("/items/{item_id}")
装饰器定义了一个处理GET请求的端点,该端点接受一个路径参数item_id
。当访问如/items/5
这样的URL时,FastAPI会自动将路径中的5
转换为整数,并作为参数传递给read_item
函数。
路由配置选项
FastAPI的路由装饰器还支持更多高级配置,例如:
- 响应模型: 使用
response_model
参数指定响应数据的结构,FastAPI会自动进行数据验证和序列化。 - 查询参数、路径参数和请求体: 你可以直接在函数参数中定义这些内容,FastAPI会自动解析。
- 请求体和表单数