タイトル: FastAPI でリクエストされたデータの検証とクリーニングを実装する方法
FastAPI は、堅牢な API の作成に役立つ強力なデータ検証およびクリーニング機能を提供する、高性能で使いやすい Web フレームワークです。この記事では、FastAPI でリクエストされたデータの検証とクリーニングを実装する方法を紹介し、対応するコード例を添付します。
1. FastAPI アプリケーションのインストールと作成
まず、FastAPI とその依存関係をインストールする必要があります。 pip を使用してインストールできます:
$ pip install fastapi
次に、新しい Python ファイル app.py を作成し、必要なモジュールをインポートします:
from fastapi import FastAPI from pydantic import BaseModel
次に、 FastAPI アプリケーションの例:
app = FastAPI()
2. データ検証用のモデル クラスの作成
FastAPI では、pydantic ライブラリを使用して、リクエスト データの検証とクリーニング用のモデル クラスを作成できます。モデルクラスはBaseModelを継承して作成されます。検証するフィールドとその型をモデル クラスで定義できます。
次の例は、ユーザー リクエストを検証するためのモデル クラスを作成する方法を示しています。
class UserRequest(BaseModel): username: str age: int email: str
上の例では、 username 、 age 、および 3 つのフィールドを持つ UserRequest モデル クラスを定義します。電子メールを作成し、そのタイプを文字列、整数、および文字列として指定します。
3. データの検証とクリーニングにモデル クラスを使用する
FastAPI でデータの検証とクリーニングにモデル クラスを使用するには、モデル クラスをパラメーターのアノテーションとして使用し、関数内のモデルクラス 例だけで十分です。
次の例は、FastAPI でのデータ検証とクリーニングにモデル クラスを使用する方法を示しています:
@app.post("/user") def create_user(user: UserRequest): """ 创建用户 """ # 进行业务逻辑处理 # ... return {"message": "用户创建成功"}
上の例では、UserRequest モデル クラス Perform を使用して create_user 関数を定義しました。データの検証とクリーニング。 POST リクエストを /user パスに送信すると、FastAPI はリクエスト データが UserRequest モデル クラスの定義に準拠しているかどうかを自動的に検証します。
リクエスト データがモデル クラスの定義を満たさない場合、FastAPI は 400 Bad Request レスポンスを返します。リクエスト データが正常に検証されると、FastAPI はリクエスト データを関数で使用できるように UserRequest モデル クラスのインスタンスに自動的に変換します。
4. カスタム検証関数とエラー処理
場合によっては、複雑なビジネス ロジック検証を実行する必要がありますが、このとき、pydantic の検証デコレーターを使用してカスタム検証関数を作成できます。
これは、FastAPI でカスタム検証関数とエラー処理を使用する方法を示す例です:
from pydantic import validator class UserRequest(BaseModel): username: str age: int email: str @validator('age') def validate_age(cls, age): if age < 0 or age > 120: raise ValueError('年龄应在0到120之间') return age
上の例では、validate_age 関数を定義し、バリデーター デコレーターを使用します。年齢フィールド。この関数には、年齢が 0 ~ 120 の間にない場合に値エラーをスローするカスタム検証ロジックが含まれています。
カスタム検証関数を使用した後、FastAPI はそれを自動的に適用し、検証が失敗すると 400 Bad Request 応答を返します。
概要
この記事では、FastAPI のモデル クラスを使用してリクエスト データを検証し、クリーンアップする方法を学びました。モデル クラスを作成し、このクラスを使用する関数にデータの検証とクリーニングを実装しました。また、複雑なビジネス ニーズを満たすカスタム検証関数とエラー処理を作成する方法も学びました。
FastAPI は、強力なデータ検証およびクリーニング機能を提供します。これにより、API の作成作業が大幅に簡素化され、API の信頼性とセキュリティが向上します。この記事が、FastAPI のデータ検証およびクリーニング機能を理解して適用するのに役立つことを願っています。
以上がFastAPI でリクエストされたデータの検証とクリーニングを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。