Я работаю над небольшим проектом на рабочем месте, и у нас есть приложение на основе узла на основе 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, потому что он работает.
Оказывается, мы использовали библиотеку горбсов для разрешения объекта ответа из ключей змеи-кейла на camelCase.
Я нашел этот код в вызове lib
const humps = require('humps');
...
axios(optionsObj)
.then(response => {
resolve(humps.camelizeKeys(response.data));
})
.catch(err => {
reject(err);
});
lodash может это сделать
_.camelCase('Foo Bar');
// => 'fooBar'
Content-Type
отправляется?httpClient
?