我该如何从后端返回我从外部API获取的数据?

3
我正在使用NodeJs消费外部API。我感到困惑,因为我认为API只能从前端进行调用。我得到数据的唯一方法是通过我创建的另一个API返回,但我不知道这是否是最好的方法。还有其他方法吗?
这就是我获取URL所需的“id”的方法。
const express = require('express');
const axios = require('axios');
const app = express();

app.get('/example/:id', (req, res) => {
    const { id } = req.params;

    const url = `https://theexternalapiurl/${id}`;
    const config = { token }

    axios.get(url, config).then(response => {

        //here I should query a database and return a response
        console.log(response.data);
        res.json(data);
    });

});

创建第二个API来返回数据是一个好的解决方案吗?

1
我无法理解你在这里所说的“唯一返回我获取到的数据的方法是通过我创建的另一个API”。为什么需要另一个API来返回数据?我们在这里讨论的是什么类型的数据? - Murat Colyaran
2
许多第三方API没有启用CORS,这意味着您无法从自己的客户端应用程序调用它们。相反,您需要构建自己的服务器应用程序来代表您查询该API,有时称为代理服务器,因为它充当您的客户端和第三方API之间的中间人。如果需要,您当然可以添加额外的请求逻辑。 - esinator
1个回答

2

是的,这通常是做法!不直接向客户端暴露第三方API是一个好习惯。当进行重复或不必要的调用时,您将面临不必要的费用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接