FastAPI Tutorial #1 最初のステップ

公式サイトのチュートリアル実践ブログです。

チュートリアル - ユーザーガイド - FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

事前準備

仮想環境の作成とアクティベート

$ python -m venv .venv

$ source .venv/Scripts/Activate

pipのアップグレード

$ python -m pip install --upgrade pip

インストール

FastAPIのインストール

$ pip install "fastapi[all]"

インストールの確認

$ pip list
Package              Version
-------------------- --------
annotated-types      0.7.0
anyio                4.4.0
certifi              2024.6.2
click                8.1.7
colorama             0.4.6
dnspython            2.6.1
email_validator      2.1.2
fastapi              0.111.0
fastapi-cli          0.0.4
h11                  0.14.0
httpcore             1.0.5
httptools            0.6.1
httpx                0.27.0
idna                 3.7
itsdangerous         2.2.0
Jinja2               3.1.4
markdown-it-py       3.0.0
MarkupSafe           2.1.5
mdurl                0.1.2
orjson               3.10.5
pip                  24.0
pydantic             2.7.4
pydantic_core        2.18.4
pydantic-extra-types 2.8.2
pydantic-settings    2.3.3
Pygments             2.18.0
python-dotenv        1.0.1
python-multipart     0.0.9
PyYAML               6.0.1
rich                 13.7.1
shellingham          1.5.4
sniffio              1.3.1
starlette            0.37.2
typer                0.12.3
typing_extensions    4.12.2
ujson                5.10.0
uvicorn              0.30.1
watchfiles           0.22.0
websockets           12.0

最小コードの追加

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

ライブサーバーの実行

$ uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['C:\\\\Users\\\\kuma\\\\Code\\\\Python\\\\fastapi-tutorial']
INFO:     Uvicorn running on <http://127.0.0.1:8000> (Press CTRL+C to quit)
INFO:     Started reloader process [18416] using WatchFiles
INFO:     Started server process [11528]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

動作確認

ブラウザでlocalhost:8000を開くとレスポンスが確認できます。

ブラウザでlocalhost:8000/docsを開くとSwagger UIのドキュメントが確認できます。

ブラウザでlocalhost:8000/redocを開くとReDocのドキュメントが確認できます。