要在FastAPI中實現XML數據驗證,可以使用Pydantic庫來定義數據模型,并在請求處理函數中使用@app.post
裝飾器來指定請求方法和路由路徑,并將Pydantic模型作為請求體參數。然后FastAPI會自動解析請求體中的XML數據并驗證其字段和類型是否符合定義的數據模型。
以下是一個示例代碼:
from fastapi import FastAPI
from pydantic import BaseModel
from fastapi.responses import XMLResponse
app = FastAPI()
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
@app.post("/items/", response_class=XMLResponse)
async def create_item(item: Item):
return {"name": item.name, "price": item.price}
在上面的示例中,我們定義了一個Item數據模型,并在create_item函數中使用@app.post
裝飾器來指定POST方法和/items/路徑,并將Item模型作為請求體參數。當客戶端發送包含XML數據的POST請求到/items/路徑時,FastAPI會自動解析XML數據并驗證其字段和類型是否符合Item模型的定義,如果驗證通過則將數據作為Item對象傳遞給create_item函數進行處理。最后,函數返回一個包含name和price字段的XML響應數據。