FastAPI


ドキュメント242479152
ソースコード:https://fastapi.tiangolo.com
FastAPIは、Pythonの3.6 +標準的なPythonのタイプのヒントに基づいてAPIを構築するための近代的な、高速(高性能)、Webフレームワークです.
主な特徴
  • ファースト
  • 少ないバグ
  • 直観的な
  • イージー
  • ショート
  • 堅牢
  • 標準ベース
  • 以下のPython型コード:
    from datetime import date
    
    from pydantic import BaseModel
    
    # Declare a variable as a str
    # and get editor support inside the function
    def main(user_id: str):
        return user_id
    
    
    # A Pydantic model
    class User(BaseModel):
        id: int
        name: str
        joined: date
    
    
    これは次のように使用できます.
    my_user: User = User(id=3, name="John Doe", joined="2018-07-19")
    
    second_user_data = {
        "id": 4,
        "name": "Mary",
        "joined": "2018-11-30",
    }
    
    my_second_user: User = User(**second_user_data)
    
    
    検証タイプ:
    の検証以下を含むPythonデータ型
    JSONオブジェクト(Dict).
  • Item配列を定義します.
  • 文字列( str )フィールド.
  • 数(int、float)minとmax値など
    次のような、よりエキゾチックな型の検証
  • URL.
  • 電子メール.
  • UUID.
  • .など.
  • 非同期符号
    非同期コードは、言語がコードのいくつかの点でコンピュータ/プログラムを伝える方法を持っていることを意味します.
    通常「何かを待つ」というのは、比較的「遅い」というI/O操作を指します.
  • ネットワーク
  • を通して送られるクライアントからのデータ
  • ネットワークによってクライアントによって受け取られるあなたのプログラムによって送られるデータ
  • システムによって読まれて、プログラム
  • に与えられるディスクのファイルの内容
  • あなたのプログラムがディスク
  • に書かれるシステムに与えた内容
  • リモートAPI操作
  • は、
  • を終えるデータベース操作です
  • 結果を返すデータベースクエリ
    実行時間がほとんどI/O操作を待つことによって消費されるので、彼らは「I/Oバウンド」操作を呼びます.
    これは「非同期」と呼ばれています.なぜなら、コンピュータ/プログラムはスロータスクで「同期」する必要がないからです.タスクが終了した時の正確な瞬間を待っていて、何もしないで、仕事の結果を取り、仕事を続けることができます.
    「同期」(「非同期」に反して)のために、それらは一般に「シーケンシャル」という用語を使用します.なぜなら、コンピュータ/プログラムは、それらのステップが待っているとしても、異なるタスクに切り替える前にシーケンス内のすべてのステップに従っているからです.
    並行と並列の違い
    ここではBurgerの例を使って説明しました.
    https://github.com/tiangolo/fastapi
    JWTは「JSONウェブトークン」を意味します
    Uvicornは、ASAPI(非同期サーバーゲートウェイインターフェイス)互換性のあるサーバーは、バックエンドAPIを立ち上げるために使用されます.