Node.js 在Axios后端使用GitHub api时出现问题
我试图在我的express应用程序中使用github的api,但它不起作用。 当我将return与res.json(console.log(users))一起使用时,我会根据需要接收所有用户,但当我使用return res.json(users)时;有时我收到erro 500,现在出现以下错误:Node.js 在Axios后端使用GitHub api时出现问题,node.js,express,axios,Node.js,Express,Axios,我试图在我的express应用程序中使用github的api,但它不起作用。 当我将return与res.json(console.log(users))一起使用时,我会根据需要接收所有用户,但当我使用return res.json(users)时;有时我收到erro 500,现在出现以下错误: Converting circular structure to JSON", "name": "TypeError" 我不知道为什么,因为这是一个简单的应用。。 这是我的axios配置: i
Converting circular structure to JSON",
"name": "TypeError"
我不知道为什么,因为这是一个简单的应用。。
这是我的axios配置:
import axios from 'axios';
const api = axios.create({
baseURL: 'https://api.github.com',
});
export default api;
以下是我的方法代码:
class UserController {
async show(req, res) {
const { username } = req.query;
if (!username) {
return res.status(400).json({ error: 'Invalid user' });
}
const user = await api.get(`/users/${username}`);
return res.json(user);
}
async index(req, res) {
const { page = 1 } = req.query;
const users = await api.get(`users?since=${page}`);
return res.json(users);
}
}
export default new UserController();
您需要从axios响应中获取
数据
属性,不是吗
const user = await api.get(`/users/${username}`);
return res.json(user.data);
请看这里:
request
字段是一个循环结构,因此发送整个响应对象将导致该错误。axios
返回类似以下内容的响应对象:
data: {...}
status: 200
statusText: ""
headers: {..}
config: {...}
request: {...}
因此,理想情况下,我认为您希望返回response.data
。所以试试看
const response = await api.get(`/users/${username}`);
res.json(response.data);