Проблема с обнаружением тела запроса

Пишу свое приложение для обмена сообщениями и получается так, что до сервера каким-то чудесным образом не доходят сообщения.

В консоли приложения вижу то, что я хочу отправить:

        {"DataTime": "17:06:08",
         "JwtToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2YzllMzM5NzcwNWU1MjA5ZGUxNzZlNyIsIm5hbWUiOiIxMjMiLCJpYXQiOjE3MjY4NTE1OTl9.mmMZmKBlJRUfgjpGzMr9_YFz9qTGE1iGIuOKBWy6fRo",
         "recipient": "admin ", 
         "sender": "66c9e3397705e5209de176e7", 
         "text": "123", 
         "type": "NewMessage"}

После отправки на WebSoket, который обрабатывает запрос для передачи на конкретную ссылку post-запрос сервера и я получаю тоже, что и от приложения, но когда эти данные передаются на сервер, то теряются все данные, которые были везде и выдает краш сервера. Вот код запроса сервера(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

Думал проблема в WebSokete, но прогнав запрос через postman - краш сервера


Ответы (1 шт):

Автор решения: doflare

Оставлю ответ на свой вопрос здесь, вдруг кому поможет. При таких ошибках проверяйте как у вас заданы res & req. Они обязательно должны стоять (req, res) и ни в каком другом порядке

→ Ссылка