我正在编写自己的消息传递应用程序,结果发现消息奇迹般地没有到达服务器。
在应用程序控制台中,我看到我想要发送的内容:
{"DataTime": "17:06:08",
"JwtToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2YzllMzM5NzcwNWU1MjA5ZGUxNzZlNyIsIm5hbWUiOiIxMjMiLCJpYXQiOjE3MjY4NTE1OTl9.mmMZmKBlJRUfgjpGzMr9_YFz9qTGE1iGIuOKBWy6fRo",
"recipient": "admin ",
"sender": "66c9e3397705e5209de176e7",
"text": "123",
"type": "NewMessage"}
发送到 WebSoket(处理传输到特定链接的请求)后,服务器发出请求,我收到的数据与从应用程序收到的数据相同,但是当此数据传输到服务器时,各处的所有数据都会丢失,并且服务器崩溃。这是服务器请求代码(nodejs):
app.post('/api/SentMessage', async (res, req) => {
console.log("Sending message");
console.log(req.body)
const {DataTime, JwtToken, recipient, sender, text} = req.body;
try {
const user = await User.findOne({ Jwt: JwtToken }).lean();
if (!user) {
console.log("Не найден пользователь или неправильный токен");
return res.status(403).json({ success: false, message: 'Ошибка в токене' });
}
try {
const SentMess = await SendingMess(text, sender, recipient, DataTime);
console.log("Новое сообщение:", SentMess);
res.status(200);
} catch (error) {
console.error("Ошибка сохранения сообщений:", error);
res.status(405).json({ success: false, message: "Что-то пошло не так при поиске сообщений" });
}
} catch (error) {
console.log(error);
res.status(500).json({success:false, message:"При отправке сообщения произошла ошибка"})
}
});
并且在收到处理请求后,会产生以下错误:
Sending message
undefined
D:\12\APIServer\app.js:160
const {DataTime, JwtToken, recipient, sender, text} = req.body;
^
TypeError: Cannot destructure property 'DataTime' of 'req.body' as it is undefined.
at D:\12\APIServer\app.js:160:12
at Layer.handle [as handle_request] (D:\12\APIServer\node_modules\express\lib\router\layer.js:95:5)
at next (D:\12\APIServer\node_modules\express\lib\router\route.js:149:13)
at Route.dispatch (D:\12\APIServer\node_modules\express\lib\router\route.js:119:3)
at Layer.handle [as handle_request] (D:\12\APIServer\node_modules\express\lib\router\layer.js:95:5)
at D:\12\APIServer\node_modules\express\lib\router\index.js:284:15
at Function.process_params (D:\12\APIServer\node_modules\express\lib\router\index.js:346:12)
at next (D:\12\APIServer\node_modules\express\lib\router\index.js:280:10)
at cors (D:\12\APIServer\node_modules\cors\lib\index.js:188:7)
at D:\12\APIServer\node_modules\cors\lib\index.js:224:17
我以为问题出在WebSockete上,但是通过postman发送请求导致服务器崩溃
我将在这里留下我的问题的答案,以防它对某人有所帮助。如果出现此类错误,请检查您如何设置
res&req。它们不得(req, res)有其他顺序。