Python | FastAPIでAPI作成 ~その4:GETでデータ取得
- 2022.07.17
- FAST API
前回の続きです。前回の記事はここから↓
今回は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
検索できることを確認しました。
今回は以上です。
-
前の記事
Python | FastAPIでAPI作成 ~その3:パスパラメータとクエリパラメータ~ 2022.07.15
-
次の記事
Python | FastAPIでAPI作成 ~その5:POSTでデータ登録 2022.07.18