始める無料で始める

カスタムモデルバリデーター

在庫を更新する 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
コードを編集して実行