自訂模型驗證器
你有一個用來更新庫存的 API,現在被要求在輸入負數數量時,顯示一則對使用者友善的錯誤訊息。
RequestValidationError 例外已經幫你預先載入。
本練習屬於課程
使用 FastAPI 將 AI 佈署到生產環境
練習說明
- 載入自訂模型驗證所需的註解。
- 實作一個自訂模型驗證,讓它在預設模型驗證之後(
"after")執行。 - 拋出
RequestValidationError例外,將驗證錯誤回報給 API 使用者。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Import annotation for custom validation
from pydantic import BaseModel, ____
class InventoryRecord(BaseModel):
name: str
quantity: int
# Create custom validator that runs after default validation
@model_validator(mode="____")
def validate_after(self):
if len(self.quantity) < 0:
# Raise request validation error
raise ____(
"Negative quantity is not allowed!"
)
return self