WEB+DB PRESS plus Python Web開発実践入門 ―⁠― FastAPIによるWeb API開発と非同期処理

「Python Web開発実践入門」のカバー画像
著者
陶山嶺すやまれい 著
定価
3,520円(本体3,200円+税10%)
発売日
2026.8.13
判型
A5
頁数
344ページ
ISBN
978-4-297-15776-0 978-4-297-15777-7

概要

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

プロフィール

陶山嶺すやまれい

大分県出身。広島大学大学院情報工学専攻修士課程修了。

学生時代にPythonと出会い、言語・コミュニティの持つ思想や雰囲気に惹かれる。

技術的な基礎知識からコミュニティとの付き合い方まで、さまざまなことをPythonを通して学んだ。

PyCon JP 2015へ一般参加したことをきっかけに、PyCon JP 2016からはスタッフやスピーカーとしても参加している。

就職を機に上京していたが、現在は瀬戸内海に浮かぶ広島県尾道市の向島でフルリモートワークを実践中。