【问题标题】:How to call an api in express? [closed]如何在express中调用api? [关闭]
【发布时间】:2021-09-14 02:04:25
【问题描述】:

NodeJS 任务 -

使用 expressjs 创建一个服务器。然后调用这个公共的免费 API - https://api.coindesk.com/v1/bpi/currentprice.json 然后从该 Api 获取价格列表,并以卢比形式发送价格作为响应。 使用邮递员调用您创建的 API 端点,例如localhost:3000/api/prices,你应该得到下面给出的 json 格式的响应。 [‘1.00’, ‘2.00’, ‘3.00’]

以上是我得到的任务,我只知道服务器创建。 我需要知道如何从该服务器调用 API。

【问题讨论】:

    标签: node.js api express


    【解决方案1】:

    只需使用 axios。 https://www.npmjs.com/package/axios

    const axios = require('axios');
    
    ...
    
    
    axios.get('https://api.coindesk.com/v1/bpi/currentprice.json').then(res => {
       console.log(res.data)
    }).catch(err => console.log(err));
    

    【讨论】:

    • 你能提供我完整的代码吗.....我的意思是我应该在你提供的代码中输入什么来代替'....'。我仍然收到错误,这就是我问的原因。
    【解决方案2】:

    只需使用获取。 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

     fetch('https://api.coindesk.com/v1/bpi/currentprice.json').then(res => 
         res.json())
         .then((res) => console.log(res))
         .catch(err => console.log(err));
    

    【讨论】:

    • 现在说真的,使用原生 API 是解决问题的好方法,如果它们适合他们的话。
    【解决方案3】:
    const axios = require('axios');
    
    async function getData() {
      const {data} = await axios.get("https://api.coindesk.com/v1/bpi/currentprice.json")
    
    // do what ever you want
    }
    

    【讨论】:

      【解决方案4】:

      我会推荐你​​使用 Promise 和 request 模块从第三方 api 获取数据。 以下是有助于您获取数据的工作代码 sn-p。将此代码与您的节点服务器集成。

      常量请求 = 要求(“请求”); 函数获取价格(){ 返回新的承诺((解决,拒绝)=> { 让选项 = { 方法:“获取”, url: "https://api.coindesk.com/v1/bpi/currentprice.json", json: 真 } 请求(选项,(错误,响应,正文)=> { if (!error && response.statusCode === 200) { 解决(正文); } 拒绝(错误); }); }); } getPrices().then(数据 =>{ 控制台.log(数据); }).catch(错误=>{ 控制台日志(错误); });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-03
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-18
        • 2015-07-09
        相关资源
        最近更新 更多