ホームページ  >  記事  >  バックエンド開発  >  FastAPI でリクエストされたデータの検証とクリーニングを実装する方法

FastAPI でリクエストされたデータの検証とクリーニングを実装する方法

WBOY
WBOYオリジナル
2023-07-28 21:15:211350ブラウズ

タイトル: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。