我正在尝试使用NextJS 13与TypeScript,Next Auth v4,Prisma(使用SQLite数据库进行开发)和OpenAI创建Web应用程序。
每当我访问API端点时,控制台都会显示错误,并显示以下消息:
错误-类型错误:res.getHeader不是函数
在setCookie(webpack-internal:///(sc_server)/./node_modules/next-auth/next/utils.js:11:49)
我发现,每当代码试图在此行为会话变量分配getServerSession()
时,它都会失败:
export async function GET(
req: NextApiRequest,
res: NextApiResponse
) {
const session = await getServerSession(req, res, authOptions) // <-- here it fails
const sessionErrors = checkSessionErrors(session, req.url);
if (sessionErrors) return sessionErrors;
// rest of the code
}
我一直在互联网上研究,我发现了一些与Webpack中间件相关的问题。但我没有使用任何中间件。
我也尝试将代码替换为如下所示:
export async function GET(req: NextRequest) {
const session = await getServerSession() // not sure how to fill this now
const sessionErrors = checkSessionErrors(session, req.url);
if (sessionErrors) return sessionErrors;
// rest of the code
// return stuff with NextResponse.json()
}
不知道现在该怎么做,有什么建议吗?
1条答案
按热度按时间py49o6xq1#
getServerSession
需要NextApiRequest
和NextApiResponse
参数。我通过将getHeader
和setHeader
函数添加到NextResponse
来解决这个问题: