1. 请求方法和路径:
使用不同的请求方法(GET、POST、PUT等)可以为同一路径添加多个操作。例如:
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items():
return {"message": "Read all items"}
@app.post("/items/")
async def create_item():
return {"message": "Create an item"}
2. 路径参数的数据类型:
通过在路径参数上使用类型提示,可以指定路径参数的数据类型。例如:
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}
3. 路径参数的验证和元数据:
使用路径参数的配置选项,如 title、max_length、min_length、regex 等,可以对路径参数进行验证和添加元数据。例如:
from fastapi import FastAPI, Path
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int = Path(..., title="The ID of the item", ge=1, le=100)):
return {"item_id": item_id}
4. 查询参数的验证和别名:
对查询参数使用 Query 类可以添加验证规则和别名。例如:
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items/")
async def read_items(q: str = Query(None, alias="item-query")):
return {"q": q}
5. 请求体的验证和示例值:
使用 Body 类对请求体进行验证,还可以提供示例值。例如:
from fastapi import FastAPI, Body
app = FastAPI()
@app.post("/items/")
async def create_item(item: dict = Body(..., example={"name": "item name", "description": "item description"})):
return {"item": item}
这些都是 FastAPI 中路径操作的一些高级配置选项,可以根据具体需求选择合适的配置来实现更复杂的功能。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7405/FastAPI