当使用FastAPI处理请求体时,你可以使用pydantic库的模型来定义请求体的字段。这使得代码更具可读性和可维护性。以下是一个演示如何在FastAPI中使用请求体字段的简单示例:

首先,确保你已经安装了FastAPI、uvicorn和pydantic:
pip install fastapi uvicorn pydantic

然后,创建一个名为main.py的文件,输入以下代码:
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

# 创建一个 pydantic 模型来定义请求体的字段
class Item(BaseModel):
    name: str
    description: str = None
    price: float
    tax: float = None

# 使用请求体字段
@app.post("/items/")
async def create_item(item: Item):
    total_price = item.price + (item.tax or 0)
    return {"name": item.name, "description": item.description, "total_price": total_price}

在这个例子中,我们定义了一个Item类,它继承自BaseModel。Item类有几个字段,例如name、description、price和可选的tax。FastAPI将使用这个模型来验证和解析传入的请求体。

你可以使用[httpie](https://httpie.io/)或其他工具来测试这个API。以下是一个使用httpie的示例:
http POST http://127.0.0.1:8000/items/ name="Test Item" description="Test Description" price=19.99 tax=2.5

在这个例子中,我们使用POST请求发送了一个JSON请求体,其中包含name、description、price和可选的tax字段。FastAPI将自动解析请求体并验证字段,然后在响应中返回相应的信息。




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