Использование Node и Express, Как вызвать удаленный API изнутри server.get (..) - PullRequest
0 голосов
/ 19 февраля 2019

Из-за проблем с CORS я хочу вызвать внешний REST API изнутри моего сервера экспресс-узла.То есть у меня есть такой код, который, очевидно, не работает, потому что он не возвращает.

Как я могу сделать эту работу и вернуть результаты моего внешнего вызова?

const server = express();
server.put('/callme',(req,res) => {
      axios
        ('http://weather.com/restapi', 'put', { zip: 10530 })
        .then((resp: any) => {
            console.log(' success' + resp.data);
        })
        .catch(function(error: any) {
            console.log(error.message);
        });
}

1 Ответ

0 голосов
/ 19 февраля 2019

Axios возвращает Promise, которое разрешено в .then().Чтобы вернуть данные ответа клиенту, вам нужно вернуть их с res.send().

const server = express();
server.get('/callme', (req, res) => {
  axios
    .get('http://weather.com/restapi?zip=10530')
    .then((resp: any) => {
      res.send(resp.data);
    })
    .catch(function(error: any) {
      console.log(error.message);
    });
}

Было бы неплохо кэшировать ответ API погоды на определенный период времени и обслуживать кэшированный ответ для последующих запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...