solicitud de publicación declarada pero muestra el error "solicitud incorrecta. Quiero enviar el mensaje y restaurar todo el mensaje anterior, pero ahora no puedo enviar la solicitud de publicación:
const sendMessage = async(event) => { if(event.key === "Enter" && newMessage) { try { const config ={ headers:{ "Content-Type": "application/json", Authorization: `Bearer ${user.token}`, }, }; setNewMessage(""); const {data} = await axios.post("/api/message", { content: newMessage, chatId: selectedChat, }, config); console.log(data); setMessages([...messages, data]) } catch (error) { toast({ title: "Error Occured!", description: "Failed to send the Message", status: "error", duration: 5000, isClosable: true, position: "bottom", }); } } };el controlador de mensajes declarado en el backend como se muestra a continuación y contiene el chatId y el contenido por separado, pero la API de frontend no se dirige a esto y lo muestra como un error: const sendMessage = asyncHandler(async(req,res) =>{ const { content , chatId } = cuerpo requerido;
if(!content || !chatId) { console.log("Invalid data passed into request"); return res.sendStatus(400); } var newMessage = { sender : req.user._id, content: content, chatId:chatId, } try { var message = await Message.create(newMessage); message = await message.populate("sender" ,"firstname pic"); message = await message.populate("chat").execPopulate(); message = await User.populate(message,{ path: "chat.users", select:"firstname pic email", }); await Chat.findByIdAndUpdate(req.body.chatId, { latestMessage:message, }); res.json(message); } catch (error) { res.status(400); throw new Error(error.message); }});
Rutas de chat en serverjs para enrutar el chat desde el backend al frontend dado como:
app.use("/api/message",messageRoutes);