はじめに
Django REST Framework(DRF)は、デフォルトだとPythonのコーディングスタイルに合わせてレスポンスやリクエストボディのキーがスネークケース(snake_case)です。
例えば、以下のようなレスポンスです。
{
"created_at": "2026-03-10T12:00:00+09:00",
"user_books": []
}
一方で、フロントエンド(JavaScript/TypeScript)はキャメルケース(camelCase)でリクエスト・レスポンス取得を行いたいことが多いでしょう。
そのため、バックエンドがsnake_case、フロントエンドがcamelCaseという状況では、フロント側で変換処理を書いたり、APIレスポンスのキーを都度変換したりする必要が出てきます。
この記事では、DRFの処理側はsnake_caseのまま、API入出力だけをcamelCaseに変換する方法を紹介します。
結論
DRFのAPI入出力をcamelCaseにするにはdjangorestframework-camel-caseのライブラリを使うのが一番シンプルです。
このライブラリを使うと、
- レスポンスJSONを snake_case → camelCase
- リクエストJSONを camelCase → snake_case
に自動変換してくれます。
つまり、Django / DRFのコードは snake_caseのままフロントエンドはcamelCaseでAPIを扱えるという理想的な構成になります。
導入手順
1. ライブラリのインストール
まずはpipでインストールします。
pip install djangorestframework-camel-case
※ 執筆時点で最新のversion1.4.2を使用しています。
2. settings.pyの設定
Renderer設定(レスポンス用), Parser設定(リクエスト用), Middleware設定(クエリパラメータ用)のために、REST_FRAMEWORKの設定に以下の追記をお願いします。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
+ 'djangorestframework_camel_case.render.CamelCaseJSONRenderer',
+ 'djangorestframework_camel_case.render.CamelCaseBrowsableAPIRenderer',
# 他のRENDERER...
),
'DEFAULT_PARSER_CLASSES': (
+ 'djangorestframework_camel_case.parser.CamelCaseFormParser',
+ 'djangorestframework_camel_case.parser.CamelCaseMultiPartParser',
+ 'djangorestframework_camel_case.parser.CamelCaseJSONParser',
# 他のPARSER...
),
}
Middlewareに追記
MIDDLEWARE = [
# 他のmiddleware...
+ 'djangorestframework_camel_case.middleware.CamelCaseMiddleWare',
]
以上で完了です。
実際にレスポンスを比較して確認してみる
djangorestframework-camel-case導入前
DRFのデフォルト状態では、レスポンスはスネークケースになります。
djangorestframework-camel-case導入後
まとめ
今回はDjangoRestFrameworkのAPI入出力をキャメルケースにする方法についてまとめてみました。
DRFを使ったAPI開発でフロントエンドとの命名規則を統一したい場合は、ぜひ導入を検討してみてください。
ご拝読ありがとうございました。


