r45h
@r45h
Middle Frontend-developer (React)

Как работать в JavaScript приложении (React), если бэкенд присылает данные в underscore (snake case) формате?

На фронте же принято работать в camelCase. А бэк шлёт все данные вот_так. Нужно пинать бэкенд, или это нормально?
Если нормально, то надо ли на фронте переводить структуру из одного формата в другой? Как вообще принято работать в таких случаях?
  • Вопрос задан
  • 259 просмотров
Решения вопроса 1
r45h
@r45h Автор вопроса
Middle Frontend-developer (React)
Нашёл решение. У axios есть свойства для трансформации данных перед отправкой и после получения. В связке с humps получается довольно элегантное решение.

axios({
  method,
  url,
  transformResponse: [
    ...axios.defaults.transformResponse,
    (data) => humps.camelizeKeys(data),
  ],
  transformRequest: [
    (data) => humps.decamelizeKeys(data),
    ...axios.defaults.transformRequest,
  ],
})


https://medium.com/@mikerelated/making-axios-play-...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы