Como consumir serviços em nodejs utilizando fetch-api
A Fetch API fornece uma interface para buscar recursos (por exemplo, em toda a rede). Parecerá familiar para qualquer pessoa que tenha usado XMLHttpRequest, porém a nova API oferece um conjunto de recursos mais poderoso e flexível.
const URL = `https://openexchangerates.org/api/latest.json?app_id=${process.env.OPENEXCHANGEAPITOKEN}`;
exports.cotacao = async (req, res) => {
try {
const resultado = await fetch(URL)
req.oexchange = await resultado.json()
res.status(200).json(req.oexchange)
} catch (e) {
res.status(500).json({errors: [{ location: 'cotacao', msg: 'Houve um erro ao acessar a api do open exchange.', param: 'openexchangerates' }]})
}
};
Está disponível em Node.js e fetch API desde a versão 17.5.0 como uma funcionalidade experimental. Podendo ser ativada via flags e a partir da 18.0.0 já está disponível por padrão (não é necessário utilizar flags).
Depois disso basta remover a lib axios.
npm uninstall axios --save
Agora a aplicação não possui mais nenhuma depedência para fazer requisições e está utilizando apenas o nodejs (javascript) com fetch-api.
Aqui você pode ver mais exemplos de utilização do fetch.