我正在向服务器端代码发送一个值,但该值未被正确读取。我正在使用NextJS实验应用程序目录
//src/app/api/auth/route.js
export async function POST(req, res) {
console.log(req.body);
const { address } = req.body;
const isAuthenticated = await checkBalance(address, threshold);
if (isAuthenticated) {
return new Response("Authorized", { status: 200 });
} else if (isAuthenticated == false) {
return new Response("Unauthorized", { status: 401 });
} else if (isAuthenticated == undefined) {
return new Response("Error", { status: 500 });
}
}
控制台日志为:ReadableStream { locked: false, state: 'readable', supportsBYOB: false }
const地址是undefined
。
这是API调用:
const response = await fetch("/api/auth", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ address: walletAddress }),
});
const data = await response.json();
我在另一个类似问题的答案中读到nextjs 12+应该自动解析请求-我做错了什么?我假设nextjs有一个解码ReadableStream的协议,但我在文档或示例中找不到任何相关的内容,也许是因为有一个框架不可知的方法来解码我不知道的对象?
先谢谢你。
2条答案
按热度按时间uubf1zoe1#
我觉得你应该做的是:
0sgqnhkj2#
一个discord用户推荐了
const address = await req.json();
而不是const {address} = req.body
,它可以工作。