如何在Node.js中使用Express发出请求并返回响应?

时间:2020-05-22 13:04:03

标签: node.js express

当有人卷曲我的网站时,我试图向api发送请求并返回带有express的响应。

app.post('/', async (req, res) => {
    request.get('the_api')
  .on('response', function(resp){
    return res.status(200).send({
      text: resp.body
    })
  })
})

1 个答案:

答案 0 :(得分:0)

为此,在我的项目中,我使用axios,来自文档:

Axio是用于浏览器和node.js的基于Promise的HTTP客户端。

这是一个完整的示例:

const axios = require('axios');
// api openexchange
const oexchange = axios.create({
    baseURL: 'https://openexchangerates.org/api/',
    timeout: 60000
})
oexchange.interceptors.request.use((config) => {
    config.params = config.params || {};
    config.params.app_id = 'myapitoken'
    return config;
});

app.get('/', async (req, res) => {
        try {
            //here it will request:
            //https://openexchangerates.org/api/latest.json?app_id=myapitoken
            req.oexchange = await oexchange.get('latest.json')
            return res.status(200).json(req.oexchange.data)
        } catch (e) {
            res.status(500).json({ errors: [{ location: 'cotacao', msg: 'Houve um erro ao acessar a api do open exchange.', param: 'openexchangerates' }] })
        }
})

在我的示例中,我请求一个外部交换API。

这里是documentation from axios

希望有帮助。