Ceeds Academy教材アプリ教材・症状語・タグで検索
索引グラフ試す
アプリFW/ライブラリ▸FastAPI

FastAPI: 最小API(起動 / GET / /docs)

hands-on所要 25分最新草稿
前提: Python: 関数(def・引数・戻り値・型ヒント)→次: FastAPI: ルーティングとパラメータ(パス/クエリ)
意味グラフ(この教材と内容的に近い教材・1ネスト)
例え(Analogies)
FastAPI=受付窓口を開ける

FastAPIでAPIを起動するのは「受付窓口を開ける」こと。各エンドポイントは「この用件はここへ」という窓口。/docs は窓口一覧表。

概要

📍 app-frameworks ▸ FastAPI ▸ 最小API | 種別: hands-on | facts_as_of 2026-06(FastAPI 0.136)

公式ドキュメント — hands-on

🎞 スライド

FastAPI = Python で API を作る

高速 / 型ヒントで検証 / 自動ドキュメント(/docs)

最小構成(テキスト図)

[main.py] FastAPI() → @app.get("/") → return {...}
│
uvicorn main:app --reload で起動
│
▼
[/docs] 型から自動生成された API ドキュメント

動かす手順

依存を入れる → uvicorn で起動 → /docs で確認

—
出典(sources)

fastapi.tiangolo.com (First Steps) ; FastAPI 0.136 / 2026-06確認

確認問題(Review-Questions)
FastAPIアプリを起動するコマンドは?コード
基礎公式
解答・解説▾ 開く

uvicorn main:app --reload

FastAPIの自動ドキュメントのパスは?択一
基礎公式
解答・解説▾ 開く

/docs

目次
例え概要公式ドキュメント出典確認問題
鮮度
最新
更新: 2026-06-15
次回棚卸し: 2026-12-15
周期: 6か月
版: FastAPI 0.136

概要

FastAPI で最小APIを起動し、GET エンドポイントを作って**自動ドキュメント(/docs)**で確認する。型ヒントから検証とドキュメントが自動で生成されるのが特徴。

公式ドキュメント準拠(FastAPI 0.136)

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello, Ceeds"}
uv add fastapi uvicorn        # または pip install
uvicorn main:app --reload     # 起動
# http://127.0.0.1:8000/docs で自動ドキュメント
  • FastAPI() でアプリを作り、@app.get でエンドポイントを定義、uvicorn で起動。
  • /docs に OpenAPI ベースの自動ドキュメント(Swagger UI)が出る。

出典: FastAPI: First Steps

🧭 誤解訂正集

よくある誤解 正しい理解
ドキュメントは別途書く 型ヒントから /docs に自動生成される
main:app は固定 ファイル名:変数名 を指す(main.py の app なら main:app)
FastAPI だけで動く 実行には **ASGI サーバ(uvicorn 等)**が要る

📖 用語

  • FastAPI … Python の型ヒントで API を作る Web フレームワーク。
  • エンドポイント … URL とメソッドの組(例 GET /)で1つの入口。
  • ASGI / uvicorn … 非同期対応のサーバ規格/その実装。アプリを実際に動かす。
  • /docs(自動ドキュメント) … OpenAPI から生成される API の対話ドキュメント。
  • 型ヒント … 引数・戻り値の型注釈。検証とドキュメントの素になる。

✅ 確認の目安(can-do)

最小の FastAPI アプリを起動でき、@app.get のエンドポイントと /docs の関係を説明でき、**「なぜ別途ドキュメントを書かずに済むか」**を型ヒントの観点で言える。

⚠️ エラー復旧集

症状 原因 復旧
uvicorn: command not found 未インストール uv add / pip install uvicorn、venv 有効化
Error loading ASGI app main:app の記述ミス ファイル名:変数名(main:app)を確認