Python | FastAPIでAPI作成 ~その4:GETでデータ取得

Python | FastAPIでAPI作成 ~その4:GETでデータ取得

前回の続きです。前回の記事はここから↓

今回はHTTPメソッドの「オペレーション:GET」を試してみます。

今回作りたいモノ

APIサーバ上に辞書リスト(DBみたいな位置づけ)を用意しておき、データを取得します。

データは以下の通り

このDBに対して

①全件取得

②IDを元に検索した結果を取得

の2パターンを実現します。

利用するオペレーション

データを引っこ抜くということで「GET」を利用します。

※投稿ならば「POST」、更新ならば「PUT」、削除ならば「DELETE」

コード

コードは以下の通りです。

from fastapi import FastAPI
app = FastAPI() #インスタンスを作成

User_list =[
    {"ID":"M001","Name":"Takashi","Class":"A"},
    {"ID":"M002","Name":"Hanako","Class":"A"},
    {"ID":"M003","Name":"Hiroshi","Class":"B"},
    {"ID":"M004","Name":"Kyoko","Class":"B"},
    ]

# Get /Users : 全件取得
# Get /Users/{ID} :特定のIDのみ取得

#curl http://localhost:8000/Users
@app.get("/Users/")
async def users():
    return User_list


#curl http://localhost:8000/Users/{ID}
@app.get("/Users/{u_id}")
async def users(u_id:str):
    return list(filter(lambda item : item['ID']==u_id, User_list))

結果

実際に動かしてみます。

全件取得: http://localhost:8000/Users

ID検索: http://localhost:8000/Users/M001

検索できることを確認しました。

今回は以上です。