書籍概要

WEB+DB PRESS plus

Python Web開発実践入門
――FastAPIによるWeb API開発と非同期処理

著者
発売日
更新日

概要

PythonのWebフレームワーク「FastAPI」を使ったWebAPI開発を解説する書籍です。FastAPIはマイクロサービスやシングルページアプリケーションと相性がよく,モダンで豊富な機能と非同期処理による高いパフォーマンスで人気が高まっています。本書は,ユニットテスト,運用までWebAPI開発の流れに沿って一通り解説します。さらに,Pydantic,SQLAlchemy,asyncioの各ライブラリについてもより深く説明します。

こんな方におすすめ

  • Pythonの基礎知識があり,FastAPIを初めて利用するWebエンジニア
  • FastAPIを使ってWebAPIを作ってみたい方

サンプル

目次

第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 本章のまとめ

サポート

ダウンロード

サンプルファイルのダウンロード

(2026年8月3日更新)

本書第1章から第6章までに掲載のサンプルコードを以下よりダウンロードできます。ダウンロード後,解凍してご利用下さい。

ダウンロード
ch1-6_sample

第7章以降のサンプルコードについては,以下のURLからダウンロードできます。

https://github.com/rhoboro/fastapi-todo-api

商品一覧