早上好,我正在尝试学习如何构建特定的应用程序,但是我需要一些帮助,或者至少需要一些有关我要做什么的文档。
我已经准备好我的node.js / express.js收听并提供我的要求。
下一步是要挣扎的我需要调用一个API,以将该API通过管道传递回响应中。
我想要实现的目标:
我有一个Google表格已经调用了API,但是有时该API失效了,我需要调用第二个。两者的结构不同,因此我试图创建自己的API(基本上是这2个API的管道之一),以将其传递给Google Sheet的方式。
我已经完成了什么,我可以调用API并将响应传递到控制台,但是我还无法找到将响应传递回浏览器的方法,例如(res.send(response) )通常会给我一些异步错误
import 'dotenv/config';
import cors from 'cors';
import express from 'express';
import axios from 'axios';
const app=express();
const https=require("https");
const url="https://jsonplaceholder.typicode.com/todos/1"
app.use(cors());
app.get('/', (req, res) => {
axios.get(url)
.then(function(response){
res.send(response);
})
.catch(function(error){
console.log(error);
})
});
app.listen(process.env.PORT, () =>
console.log('App listening on port '+process.env.PORT),
);
TypeError:将圆形结构转换为JSON
那就是我不断得到的错误。
在该示例中,我使用的是Axios,但我也尝试了其他解决方案,但似乎找不到解决方法。
我是所有这些的初学者,我已经在Google上尝试了很多搜索,但是我不知道我要做什么的正确措辞:-/
快速回顾
API1或API2返回他们的响应>我操纵他们的响应>我将响应发送回我自己的应用程序
答案 0 :(得分:0)
我试图直接传递答复,而不是将其设置为变量。
您必须先在脚本中传递它,然后再发送类似的内容:
fetch('https://apiserver.com/api/etc/')
.then(function (res) {
var contentType = res.headers.get("content-type");
if(contentType && contentType.includes("application/json")) {
return res.json();
}
else {
throw ("server did not reply properly");
}
})
.then(json => res.send(json))
.catch(function (err) {
console.log(err);
})