在FastAPI中,可以使用Pydantic庫來實現JSON數據的驗證。Pydantic是一個數據驗證和序列化庫,它可以幫助我們定義數據模型,并使用這些模型來驗證輸入數據。
下面是一個簡單的例子,演示了如何在FastAPI中使用Pydantic來驗證JSON數據:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
# 定義數據模型
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
# 創建一個POST路由,接收一個Item對象作為參數
@app.post("/items/")
async def create_item(item: Item):
return {"name": item.name, "price": item.price}
在上面的例子中,我們定義了一個Item數據模型,包含name、description、price和tax四個字段。然后在POST路由中,接收一個Item對象作為參數,并返回該對象的name和price字段。
當請求到達這個路由時,FastAPI會自動將請求體中的JSON數據轉換成Item對象,并根據Item數據模型進行驗證。如果數據驗證失敗,FastAPI會返回相應的錯誤信息;如果驗證通過,我們就可以在路由中使用Item對象來訪問請求中的數據。
總的來說,使用Pydantic庫能夠很方便地實現JSON數據的驗證,并幫助我們更輕松地處理數據。