私はPydanticを使って、要求と回答をAPIにモデル化します。
User
クラスを定義しました。
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
_
My APIは、requests
で取得し、DICTに変換するユーザーのリストを返します。
users = [{"name": "user1", "age": 15}, {"name": "user2", "age": 28}]
_
このDICTをUser
インスタンスのリストに変換する方法
今のところ私の解決策
user_list = []
for user in users:
user_list.append(User(**user))
_
User
コンストラクタへのDICTの開梱とともにリストの理解を使用することを検討することができます。
user_list = [
User(**user) for user in users
]
_
__root__
pydanticキーワード:
from typing import List
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
class UserList(BaseModel):
__root__: List[User] # ⯇-- __root__
JSON応答を構築するには:
user1 = {"name": "user1", "age": 15}
user2 = {"name": "user2", "age": 28}
user_list = UserList(__root__=[])
user_list.__root__.append(User(**user1))
user_list.__root__.append(User(**user2))
API Web Frameworkは、user_list
をJSONアレイとして(レスポンスボディ内で)返されることができます。