2024年12月24日 【初心者向け】FastAPI解説 検索する Popular tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL Category 技術開発 Author tsukasa SHARE 目次 FastAPIとは WebAPI作成 自動生成されるドキュメントの使い方 まとめ Content こんにちは。 この記事では、近年急速に人気を集めているFastAPIの概要、データベースアクセスを伴わない簡単なWebAPIの開発方法をコードを交えて解説していきます。 FastAPIとは FastAPIとは、DjangoやFlaskと同じPythonのフレームワークです。 StarletteとPydanticというライブラリをベースにしており、高速かつ安全なAPI開発が行えます。 また、非同期処理に対応していることによる高速な動作、APIドキュメントの自動生成が可能などの特徴を持っています。 公式サイト:https://fastapi.tiangolo.com/ja/ WebAPI作成 以降では、ローカルで動かすことを前提として、データベースアクセスを伴わない簡単なWebAPIを作成します。 事前準備 FastAPIでWebAPIを開発するための事前準備を行います。 前提 Python3.7以降がインストール済みであること 本記事では、Windowsでの動作を想定しています FastAPIのインストール 以下のコマンドでFastAPIをインストールします。 pip install fastapi 同時にASGIサーバであるuvicornもインストールしておきます。(FastAPIのアプリケーションを起動する際に必要になります) pip install uvicorn これで、WebAPIを作成する準備が完了しました。 コードを作成する GETリクエストを受け取り、固定値のディクショナリを返却する単純なWebAPIを作成してみます。 test.pyを作成し、以下のコードを入力します。 from fastapi import FastAPI app = FastAPI() @app.get("/") def test(): return {"result": "HelloWorld"} ターミナル等で以下のコマンドを実行します。 uvicorn test:app --reload http://127.0.0.1:8000をブラウザで開くと、{“result”:”HelloWorld”}が表示されたと思います。 このように、データベースアクセスを伴わない固定のディクショナリを返却するような簡単なWebAPIを作成するだけであれば、数ステップでWebAPIが作成できます。 (実際には、このような単純な仕様が求められることは、ほとんどの場合であり得ないと思いますが) 自動生成されるドキュメントの使い方 FastAPIでは、自動的にAPIドキュメントが生成されます。 URLの末尾に/docsを付けると生成されたドキュメントの確認が可能です。 また、openapi.jsonのリンクをクリックすることにより、JSONとして出力することも可能です。 出力したJSONはSwagger UIなどで参照することが可能なため、スキーマ駆動開発を採用しているプロジェクトでは、自動生成により工数減が見込めるのではないかと思います。 { "openapi": "3.1.0", "info": { "title": "FastAPI", "version": "0.1.0" }, "paths": { "/": { "get": { "summary": "Test", "operationId": "test__get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { } } } } } } } } } まとめ 本記事では、FastAPIの概要、簡単なWebAPIの作成を行いました。 今回解説した内容はFastAPIの機能のごく一部です。 他にも、型ヒントの活用や非同期処理等のFastAPIを使用する上で活用したい機能もまだまだありますので、是非お調べいただければと思います。 最後までお読みいただき、ありがとうございました。 関連コンテンツ 頂きましたご意見につきましては、今後のより良い商品開発・サービス改善に活かしていきたいと考えております。 よくわかった 少しわかった どちらでもない あまりわからなかった 全くわからなかった Author tsukasa 株式会社システムサポート BSG事業部 2022年中途入社。趣味は筋トレです。筋肉は裏切らない。 2024年12月24日 【初心者向け】FastAPI解説 Category 技術開発 前の記事を読む 「Google Cloud Partner Top Engineer 2025」をSTS社員4名が受賞しました 次の記事を読む 【Google Cloud】Google Gemini を活用した AI 接客の基盤開発を支援(株式会社すかいらーくホールディングス) Recommendation オススメ記事 2023年9月5日 Google Cloud 【Google Cloud】Looker Studio × Looker Studio Pro × Looker を徹底比較!機能・選び方を解説 2023年8月24日 Google Cloud 【Google Cloud】Migrate for Anthos and GKEでVMを移行してみた(1:概要編) 2022年10月10日 Google Cloud 【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第1回:AlloyDB の概要、性能検証編) BigQuery ML ワークショップ開催のお知らせ 生成AI導入支援パッケージ Discovery AI導入支援パッケージ Google Cloud ホワイトペーパー 新着記事 2025年1月15日 Google Cloud 【Google Cloud】M2VMでHyper-V、KVMもお引越し 2025年1月8日 イベント・セミナー 【参加無料】typeエンジニア転職フェア 出展のお知らせ(2025/1/11) 2025年1月7日 Google Cloud 【Google Cloud】第2回:Oracle Database@Google Cloudを利用してみよう~実践編~ HOME 技術開発 【初心者向け】FastAPI解説 ご意見・ご相談・料金のお見積もりなど、お気軽にお問い合わせください。 お問い合わせはこちら HOME Categories お知らせ イベント・セミナー Google Cloud Google Workspace モバイル インフラ 技術開発 ブログ 4koma Tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL STSエンジニアリングマガジン 「サイタル」 当サイトではクッキー(Cookie)、Googleアナリティクスを利用します。 「同意する」をクリックいただくことで、サイト上での最高のエクスペリエンスをご提供いたします。 ※詳細は以下をご覧ください。 外部送信ポリシー プライバシーポリシー同意する同意しない