カスタムモデルバリデーター
在庫を更新する 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