目次
第1章 Python WebフレームワークFastAPI入門
- 1.1 本章の概要
- 1.2 Python WebフレームワークFastAPIの特徴
- 1.3 初めてのFastAPIアプリケーション
- 1.4 FastAPIを支える2つのライブラリ
- 1.5 本章のまとめ
第2章 エンドポイントとリクエストパラメータの定義
- 2.1 本章の概要
- 2.2 型ヒントを活用したFastAPIのスキーマ定義
- 2.3 リクエストパラメータの利用
- 2.4 FastAPIが持つ認証関連の機能
- 2.5 型ヒントから自動生成されるAPIドキュメント
- 2.6 本章のまとめ
第3章 Pydanticを使ったリクエストデータ,レスポンスデータの定義
- 3.1 本章の概要
- 3.2 データバリデーションライブラリPydanticの概要
- 3.3 FastAPIにおけるPydanticの活用
- 3.4 Pydanticの挙動のカスタマイズ
- 3.5 さまざまなデータ構造への対応
- 3.6 本章のまとめ
第4章 イベントループと非同期I/Oを使った非同期処理
- 4.1 本章の概要
- 4.2 同期処理と非同期処理の違い
- 4.3 非同期処理の主な実現方法
- 4.4 非同期I/OのメリットをFastAPIで体験
- 4.5 非同期プログラミング入門
- 4.6 FastAPIが準拠する非同期Webインタフェース仕様ASGI
- 4.7 本章のまとめ
第5章 FastAPIの豊富な機能
- 5.1 本章の概要
- 5.2 多様なリクエスト,レスポンス形式への対応
- 5.3 FastAPIが持つWebフレームワークとしての機能
- 5.4 FastAPI固有の便利な機能
- 5.5 本章のまとめ
第6章 データベース連携
- 6.1 本章の概要
- 6.2 SQLAlchemyの概要
- 6.3 SQLAlchemyの基本的な使い方
- 6.4 FastAPIでのSQLAlchemyの利用
- 6.5 Mapped Classを使ったテーブル定義
- 6.6 SQL文の構築と実行
- 6.7 Alembicを使ったデータベースのスキーマ管理
- 6.8 本章のまとめ
第7章 Web APIの開発
- 7.1 本章の概要
- 7.2 開発するWeb APIの概要
- 7.3 プロジェクト開発環境の構築
- 7.4 アプリケーション全体に関わる共通処理の実装
- 7.5 エンドポイントの実装
- 7.6 データベースの作成
- 7.7 データベース連携の実装
- 7.8 ビジネスロジックの実装
- 7.9 本章のまとめ
第8章 Web APIへの機能追加
- 8.1 本章の概要
- 8.2 継続的な開発
- 8.3 パスパラメータのコンテキスト変数へのバインド
- 8.4 ロングランオペレーション
- 8.5 ページングとフィルタリング
- 8.6 Todoの一覧取得時にSubTaskも取得する
- 8.7 本章のまとめ
第9章 ユニットテスト
- 9.1 本章の概要
- 9.2 テストフレームワークpytestの概要
- 9.3 FastAPIアプリケーションのテスト
- 9.4 テスト用データベースの利用
- 9.5 データベースを利用するテスト
- 9.6 本章のまとめ
第10章 クラウド環境へのデプロイ
- 10.1 本章の概要
- 10.2 Googleが提供するクラウド環境Google Cloud
- 10.3 Cloud Runを使ったWebアプリケーションの公開
- 10.4 Cloud SQLのセットアップ
- 10.5 Cloud RunからCloud SQLへの接続
- 10.6 本章のまとめ