首页 > 解决方案 > 无法从 RESTFUL API 获得 Node 的正文响应

问题描述

我正在尝试使用 Node.js 从 RESTFUL API 获取正文响应,它是发送 GET 请求的“请求”库。这是代码:

const request = require('request');

const url = 'https://myurl.com';

const headers = {
    'x-functions-key': 'mysecretkey'
};
request.get(`${url}${headers}`, (err, response, body) =>{
    if (err){
        console.log(err)
    }
    console.log(body)
})

但是当我运行“node myfile”时,我没有得到正文的响应,控制台返回是空白的。我想我错过了一些东西。我已经用 Postman 测试了 URL 和密钥,它工作正常,JSON 响应出现在那里。观察:我是 Node 新手,尝试过本教程:https ://www.twilio.com/blog/2017/08/http-requests-in-node-js.html 。出于安全原因,“url”和“key”在这里被屏蔽。任何帮助对我来说都很好,我很感激。

标签: javascriptnode.jsapirestrequest

解决方案


问题是request.get在线你有你的 URL 和标题模板

`${url}${headers}`

这是有关自定义标头的文档

所以解决方案是创建一个像这样的选项变量:

const options = {
  url: 'https://myurl.com',
  headers: {
    'x-functions-key': 'mysecretkey'
  }
};

然后将其传递给请求

request.get(options, (err, response, body) =>{
    if (err){
        console.log(err)
    }
    console.log(body)
})

希望这可以帮助


推荐阅读