2
0

【2023年版】pydantic2でFastAPIでスネークケースをキャメルケースに自動変換する

Posted at

はじめに

Pythonがスネークケースが主流であるのに対し、JavaScriptはキャメルケースが主流です。
JSONを返却する際にキャメルケースに変換する方法をまとめました。
FastAPIは、2023年現在ではまだまだ発展途上のフレームワークで、記述方法も都度変わっています。2023年時点での最新情報であることをご了承ください。

対象者

この記事は下記のような人を対象にしています。

  • FastAPIでAPI開発をしている人
  • pydantic1を使用していたが、

前提

  • FastAPIのバージョン: 0.103.2
  • pydanticのバージョン: 2.4.2

pydanticのバージョンが古い場合とは書き方が異なることに十分ご注意ください。

結論

データベースからUserデータを取得し、JSON形式で返却する場合を考えます。
ConfigDict を使用するのがポイントです。

user_schema.py
from pydantic import BaseModel, ConfigDict
from pydantic.alias_generators import to_camel

class BaseSchema(BaseModel):
    model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)


class UserSchema(BaseSchema):
    id: int
    name: str

おわりに

【2023年版】 pydantic2でFastAPIでスネークケースをキャメルケースに自動変換するについてまとめました。

参考記事

Convert FastAPI snake case json response to camel case
FastAPIがPydantic v2対応したので、V2移行のポイントを紹介する(意外と簡単)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0