概要
Next
アプリケーションからリクエストを受け、JSON
を返す Rails API
を作成しています。
リクエスト、レスポンスデータのキャメルケース, スネークケース間の変換処理をテンプレ化しておきたく、本記事の執筆に至りました。
キャメルケース → スネークケース
Nextリクエスト時にキャメルケースで構成されたJSONをスネークケースに変換します。
deep_transform_keys
+ underscore
を利用します。
params = {
'hogeKey' => 'hoge',
'fooKey' => 'foo'
}
transformed_params = params.deep_transform_keys(&:underscore)
p transformed_params
# {"hoge_key"=>"hoge", "foo_key"=>"foo"}
スネークケース → キャメルケース
params = {
'hoge_key' => 'hoge',
'foo_key' => 'foo'
}
camelized_hash = params.deep_transform_keys { _1.camelize(:lower) }
p camelized_hash
まとめ
以上です。
ほぼ自分向けの記事ですが、どなたかの参考になったのであれば幸いです🙏