【本書の背景】
FastAPIはDjangoやFlaskとならび人気のPython Webフレームワークです。コードを書くとSwagger UIが自動生成される、型安全、高速という優れた特長を持っています。そのため実際のWeb開発で利用されることも多くなってきています。
【本書の概要】
本書は、実際の開発に耐えうるWeb APIを目指し、ToDoアプリの作成を通して、実践的な開発方法を学ぶことができます。体系的に整理しつつも、チュートリアルとしても利用できます。特に以下のような点にこだわって実践的に解説しています。
・DB接続にもasync/awaitを利用
・Dockerによるクリーンな環境構築
・スケーリングを考慮したディレクトリ構成
なお本書はエンジニアのための情報共有コミュニティ「Zenn」で公開されている大人気の「FastAPI入門」を元にした書籍です。Python3.11への対応、各種コラムなどの増強に加え、本番環境での運用を想定したAWS・GCPへのデプロイの章を追加するなど、Zennで無料公開している本に対し、大幅にパワーアップしています。
【対象読者】
・FastAPIを初めて利用するWebエンジニア
・FastAPIによる開発を試してみたい方
【必要なスキル】
・Pythonの基礎知識
・Pythonの基本的な文法
【著者プロフィール】
中村 翔(なかむら・しょう)
株式会社sustenキャピタル・マネジメント取締役Co-Founder。2019年の創業以来、主にPython(FastAPI)にて資産運用サービス「SUSTEN」の開発を行う。楽天にて検索エンジンプラットフォームの内製開発、機械学習を用いた検索精度改善、推薦システムやドローンの研究開発に従事したのち現職。東京大学大学院工学系研究科航空宇宙工学専攻修了(修士)。
Part1では、開発環境の準備やFastAPIの準備方法について解説します。具体的には、FastAPIの概要、FastAPIで重要なPython文法について解説します。その後、Docker環境のインストール、Dockerイメージの作成、PoetryによるPython環境のセットアップ、FastAPIのインストール方法、APIの立ち上げ方法について、わかりやすく解説します。
Part2ではFastAPIアプリケーションの実装方法を紹介します。具体的には、実際に作成するアプリケーションの概要とディレクトリ構造、「ルーター(Routers)」、「スキーマ(Schemas)- レスポンス」、「スキーマ(Schemas)- リクエスト」について詳しく解説します。その後、データベースの接続とDBモデル(Models)の作成、DB操作(CRUDs)の方法、非同期化方法、ユニットテストについて実際のアプリを動かしながら解説します。
Part3では作ったアプリケーションを本番環境としても耐えられるクラウド環境にデプロイを行います。具体的にはクラウドプラットフォームへのデプロイの概要と準備の方法を解説します。その後、実際にクラウドプラットフォームへのデプロイ方法をAWS、GCPに分けて、丁寧に解説します。