I am trying to attach an object to the GET request to the Node backend, however when I console log the req.body from my backend, it shows that the req.body came in empty. This is my React code:
useEffect(() => {
const fetchMessages = async () => {
const { data } = await axios.get('/api/messages', {
sender: '5ffadc2710d93b21a812c33b',
receiver: '5ffadc1510d93b21a812c339',
});
setMessages(data.messages);
console.log(data);
};
fetchMessages();
}, []);
I am attaching the object with the keys sender and receiver to the backend to fetch messages between the sender and receiver. This is my backend code, where on line 4 I am console logging the req.body, which returns an empty object.
Router.route('/').get(
asyncHandler(async (req, res) => {
const { sender, receiver } = req.body;
console.log(req.body);
const user = await User.findOne({ _id: sender });
const user2 = await User.findOne({ _id: receiver });
let sentMessages = await Message.find({ sender, receiver });
let receivedMessages = await Message.find({
sender: receiver,
receiver: sender,
});
let messages = sentMessages.concat(receivedMessages);
messages.sort((a, b) => a.time.getTime() - b.time.getTime());
res.status(200).json({
sender: user,
receiver: user2,
messages,
});
})
);