【问题标题】:Encountered error when making external API call in Next.js API Route在 Next.js API Route 中进行外部 API 调用时遇到错误
【发布时间】:2020-08-24 23:37:49
【问题描述】:

我正在 next.js 中编写一个 API 路由,它将调用 GitHub API 并用 GitHub 的响应返回我的用户。我的 API 本质上是一个代理。 但是,我在终端中的服务器因Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client 而崩溃。我究竟做错了什么?感谢您的帮助,谢谢!

const https = require('https')

export default (req, res) => {
  const options = {
    host: 'api.github.com',
    path: '/search/repositories?q=tetris',
    headers: {'user-agent': 'gohyifan'}
  }
  https.get(options, (ghRes) => {
    ghRes.on('data', (d) => {
      res.json(d);
    });
  }).on('error', (e) => {
    console.error(e);
  });
}

【问题讨论】:

    标签: javascript node.js api rest next.js


    【解决方案1】:

    我是用 axios 做的,而且效果很好。可以关闭线程。

    const axios = require('axios');
    
    async function handler(req, res) {
      const response = await axios.get('https://api.github.com/search/repositories?q=tetris');
      if (response) {
        res.json(response.data);
      } else {
        res.json({});
      }
    }
    
    export default handler;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      相关资源
      最近更新 更多