如何将lambda函数转换为next.js api友好函数?



我有一个Instagram api调用我的个人配置文件,并作为netlify的lambda函数运行,如下所示:

require('isomorphic-unfetch')
const url = `https://www.instagram.com/graphql/query/...`
async function getPosts() {...}
exports.handler = async function (event, context, callback) {
const posts = await getPosts()
callback(null, {
statusCode: 200,
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(posts),
})
}

我正在使用Next.js重建网站并将我的网站迁移到vercel,并希望从/pages/api/insta.js运行无服务器功能,但Next.js抛出错误,因为它期望沿着以下行:

// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
// export default (req, res) => {
//   res.statusCode = 200
//   res.json({ name: 'John Doe' })
// }

Ok,小伙子们,设法通过转换成以下代码来解决问题-发布它,以防其他人遇到同样的问题:

export default async function handler(req, res) {
const posts = await getPosts()
res.statusCode = 200
res.setHeader('Content-Type', 'application/json')
res.end(JSON.stringify(posts))
}

最新更新