首先,确保你已经安装了FastAPI和uvicorn:
pip install fastapi uvicorn
然后,创建一个名为main.py的文件,输入以下代码:
from fastapi import FastAPI, Query
from pydantic import BaseModel
app = FastAPI()
# 创建额外的模型
class Item(BaseModel):
name: str
description: str
# 使用额外的模型
@app.post("/create_item/")
async def create_item(item: Item, priority: int = Query(..., title="优先级", ge=1, le=5)):
return {"item": item, "priority": priority}
在这个例子中,我们定义了两个模型:Item和路由函数中的额外的模型priority。Item模型用于请求体,而priority用于查询参数。通过使用这两个模型,我们可以清晰地定义路由接受的数据结构。
你可以使用[httpie](https://httpie.io/)或其他工具来测试这个API。以下是一个使用httpie的示例:
http POST "http://127.0.0.1:8000/create_item/" name="Example" description="Test item" priority:=3
在上面的命令中,我们向 /create_item/ 发送了一个POST请求,携带了一个JSON请求体和一个优先级查询参数。FastAPI将自动解析请求体和查询参数,并在响应中返回相应的信息。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7374/FastAPI