python fastapi 定义数据模型
时间: 2024-05-23 16:08:09 浏览: 194
FastAPI 是一个高性能 Web 框架,用于构建 API.zip
在Python FastAPI中,我们可以使用Pydantic库来定义数据模型。Pydantic是一个数据验证和设置库,它可以用于声明数据类型、校验数据以及将数据转换为Python对象。
以下是一个例子,展示如何在FastAPI中定义一个数据模型:
```python
from typing import List, Optional
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_offer: Optional[bool] = None
class User(BaseModel):
username: str
full_name: Optional[str] = None
class Order(BaseModel):
items: List[Item]
user: User
notes: Optional[str] = None
```
在这个例子中,我们定义了三个数据模型:`Item`、`User`和`Order`。每个模型都继承了`BaseModel`类,并定义了相应的属性。其中`Item`模型包含了商品名称、价格和是否为特价商品等属性,`User`模型包含了用户名和全名等属性,而`Order`模型则包含了商品列表、用户信息和备注等属性。
在FastAPI中,我们可以将这些模型用作API的请求参数、响应数据等。例如,我们可以通过以下方式定义一个接口,使用`Order`模型作为请求体参数:
```python
@app.post("/orders/")
async def create_order(order: Order):
# 处理请求
return {"message": "Order created"}
```
以上代码展示了如何使用FastAPI创建一个POST类型的API接口。其中,我们将`Order`模型作为请求体参数,并在函数中处理相应的业务逻辑。
阅读全文