Звучит так, как будто вы пытаетесь сделать асинхронный вызов другой службе, получить некоторые данные и отправить их обратно клиенту, который вызвал вашу службу. В приложении nodejs сделать новый HTTP-запрос довольно просто. У Nodejs есть встроенный HTTP.Agent, но я бы посоветовал опробовать библиотеку axios, поскольку она делает это даже легко. Это приведет к чему-то вроде этого:
const axios = require('axios');
function searchGame(req, res) {
const requestOptions = {
method: 'GET',
uri: `https://api-endpoint.igdb.com/games/?search=${req.params.game}&fields=*`,
headers: {
"user-key": process.env.API_KEY
}
}
axios.get(requestOptions)
.then(function (response) {
// This is the data the remote service gave back
res.send(response.data);
})
.catch(function (error) {
// The remote gave an error, lets just forward that for now
res.send({error: error});
});
}
Здесь мы строим запрос axios из объекта req, делаем запрос с помощью axios.get, затем ждем «обещание» (это асинхронная концепция javascript, если вы не сталкивались с ним раньше), затем мы берем ответ от этого и отправляем его обратно как res
. Давайте сделаем вид, что это аргумент JSON, но это может быть что угодно.