Estoy luchando por descubrir cómo tener un front-end que corresponda a mi back-end al crear un usuario. Logré crear un usuario con éxito (puedo publicar en MongoDB usando Insomnia) pero no sé cuál es la estructura para crear un usuario en la interfaz. Así es como se ve mi código:
enrutador
const express = require('express'); const router = express.Router(); router.post('/', async (req, res) => { // First Validate The Request const { error } = validate(req.body); if (error) { return res.status(400).send(error.details[0].message); } // Check if this user already exisits let user = await User.findOne({ email: req.body.email }); if (user) { return res.status(400).send('That user already exisits!'); } else { // Insert the new user if they do not exist yet user = new User({ name: req.body.name, email: req.body.email, password: req.body.password }); await user.save(); res.send(user); } }); module.exports = router;servidor.js
app.use('/api/users', users);
Publicar solicitud a esta API:
import axios from 'axios' axios({ method: 'post', url: '/api/users', data: { name: 'John', email: 'john@example.com', password: 'Something' } });Puede usar axios, por ejemplo, una biblioteca popular: https://github.com/axios/axios
axios.post("URL", { email: "myemail@mail.com" })
Lo que debe hacer es almacenar la información que el usuario escribe en su interfaz en una variable y pasar estos datos a la función de búsqueda a través del método de post .
// User information let username = 'boneless'; // Options for your request let options = { method: 'POST', body: JSON.stringify({username: username}); let request = await fetch('url', { options }); let response = await request; // Now you can apply logic to your response. Based on how your server replies.Recomiendo leer sobre fetch , ya que es nativo en la mayoría de los navegadores.