2: シンプルなWebAPI
このステップで学ぶこと
Section titled “このステップで学ぶこと”前のステップに続いて、このステップでもシンプルなWebAPIを追加してみましょう。
シンプルな内容から始めて少しずつ機能を追加していきましょう。
💡 WebAPI:
WebAPIとはクライアントがサーバーに処理を依頼するときに使う「問い合わせ窓口」です。
サーバーはWebAPIに届いたリクエストに応じてデータの取得などの処理を実行します。具体例:
- 天気アプリが「今日の東京の天気を教えて」と問い合わせる → WebAPIが天気データを返す
- SNSアプリが「この投稿を保存して」と送信する → WebAPIが投稿をデータベースに保存する
- 決済アプリが「この商品の代金を処理して」と要求する → WebAPIが決済処理を実行する
- 地図アプリが「この住所の位置情報を教えて」と問い合わせる → WebAPIが座標データを返す
WebAPIを活用することで自分のアプリに様々な機能を追加できます。
Todoの一覧を取得する WebAPI
Section titled “Todoの一覧を取得する WebAPI”todo-api/app/main.py
を以下の内容に変更して下さい。
from fastapi import FastAPI
# 1. FastAPIアプリケーションの作成app = FastAPI()
# 2. Todo一覧を取得するAPIの定義@app.get("/todos")def read_todos(): return [ {"id": 1, "title": "買い物に行く", "completed": False}, {"id": 2, "title": "宿題をする", "completed": True} ]
コードの解説
Section titled “コードの解説”-
FastAPIアプリケーションの作成
app = FastAPI()- FastAPI はAPIのすべての機能を提供するPythonクラスです
- FastAPI クラスのインスタンスを作成します
- このインスタンスを使ってAPIを定義します
-
Todo一覧を取得するAPIの定義
@app.get("/todos")def read_todos():return [{"id": 1, "title": "買い物に行く", "completed": False},{"id": 2, "title": "宿題をする", "completed": True}]@app.get("/todos")
は/todos
パスへのGETリクエストを処理するAPIを定義します- return で指定したデータがAPIのレスポンスとしてブラウザに返されます
- 今はデータをプログラムの中に直接書いていますが後でデータベースから取得するように変更します
🚀 動作確認
Section titled “🚀 動作確認”-
開発サーバーを起動します:
Terminal window uvicorn app.main:app --reload -
ブラウザで http://localhost:8000/todos を開きます。
以下のように表示されればOKです。
[{"id": 1,"title": "買い物に行く","completed": false},{"id": 2,"title": "宿題をする","completed": true}]
🎯 理解度チェック
Section titled “🎯 理解度チェック”以下の質問に答えて、学習内容を確認しましょう!
-
FastAPIでAPIを定義する際の正しい書き方は?
- A:
@app.get("/path")
- B:
@get("/path")
- C:
app.get("/path")
- A:
答えを見る
答え: A: @app.get("/path")
- FastAPIでは、デコレータ(
@
で始まる記法)を使ってAPIを定義します app
はFastAPIのインスタンスで、get
はHTTPメソッドを指定します- 参考: FastAPI公式ドキュメント
このステップでは以下について学びました。
-
FastAPIの基本
- アプリケーションの作成方法
- APIを追加する方法
- レスポンスの返し方
-
開発の基本
- ファイルの編集方法
- サーバーの起動方法