В ответе Express.js ключи snake_case автоматически преобразуются в camelCase

1

Я работаю над небольшим проектом на рабочем месте, и у нас есть приложение на основе узла на основе Express.js, которое отправляет ответ json, имеющий ключи в формате snake_case. У нас есть другое приложение-узел, которое использует эту службу, но ключи объекта ответа доступны в формате camelCase. Я хотел бы знать, что происходит на заднем плане, чтобы сделать эту работу.

Это код в REST API

app.get('/api/customer/:id', (req, res) => {
    const data = {
        "arr": [{
             "my_key": "609968029"
        }]
    }
    res.send(data);
});

Это то, как он потребляется в приложении другого узла

getData = (id) => {
  const options = {
    url: 'api/customer/${id}'
  };

  return httpClient.get(options)
    .then(data => {
      const arr = data.arr.map(arrEntry => {
        return {
          myKey: arrEntry.myKey
        };
      });

      return {
        arr
      };
    });
};

Здесь myKey правильно имеет данные из REST API, но я не уверен, как my_key преобразуется в myKey, потому что он работает.

  • 0
    Есть ли промежуточное программное обеспечение (я), установленное на обоих концах для обработки данных? Как выглядят данные на проводе? С каким Content-Type отправляется?
  • 0
    Что такое httpClient ?
Теги:
express

2 ответа

1
Лучший ответ

Оказывается, мы использовали библиотеку горбсов для разрешения объекта ответа из ключей змеи-кейла на camelCase.

Я нашел этот код в вызове lib

const humps = require('humps');
...
axios(optionsObj)
  .then(response => {
    resolve(humps.camelizeKeys(response.data));
  })
  .catch(err => {
    reject(err);
  });
0

lodash может это сделать

_.camelCase('Foo Bar');
// => 'fooBar'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню