Это решение работает на Rails 5 с предупреждением об устаревании, но Rails 5.1 удаляет deep_transform_keys! от params, так что это не очень хорошее долгосрочное решение, и нам, вероятно, понадобится модификация

м rails API я добавил инициализатор, который изменит ключи ввода JSON со знака змеи на знак подчеркивания. Вот так:

ActionDispatch::Request.parameter_parsers[:json] = -> (raw_post) {
    data = ActiveSupport::JSON.decode(raw_post)
    data = {:_json => data} unless data.is_a?(Hash)

    data.deep_transform_keys!(&:underscore)
}

Теперь некоторые API будут передаваться с заголовком:content-type: multipart/form-data вместоapplication/json

Я хочу сделать то же самое для таких API. То есть добавить инициализатор, который преобразует регистр ключей в параметры.

Я пыталсяActionDispatch::Request.parameter_parsers[:form_data] но это не работает.

Как мне этого добиться?

Ответы на вопрос(0)

Ваш ответ на вопрос