Estoy tratando de crear una página de registro donde los usuarios pueden ingresar información, sin embargo, tengo problemas con el funcionamiento correcto de "app.post". Esto es lo que tengo hasta ahora:
const express = require("express"); const db = require("./dbConnectExec.js") const app = express(); app.use(express.json()); app.listen(5000, () => { console.log('App is running on port 5000'); }); app.get("/hi", (req,res) => { res.send("Hello world."); }); app.get("/", (req,res) => { res.send("API is running."); }); // app.post(); // app.put(); app.post("/customers", async(req, res) => { // res.send("/contacts called"); // console.log("request body", req.body) let nameFirst = req.body.nameFirst; let nameLast = req.body.nameLast; let email = req.body.email; let password = req.body.password; let emailCheckQuery = ` SELECT customer_email FROM Customer WHERE customer_email = '${email}'`; let existingUser = await db.executeQuery(emailCheckQuery); console.log("existing user", existingUser); if(existingUser[0]){return res.status(409).send("duplicate email")}; })Cuando intento agregar un usuario a través de Postman, por ejemplo:
{"nameFirst": "Robert", "nameLast": "Redford", "email": "rob@mail.com", "password": "asdfasdf"}Termino con "Cannot GET /customers"
No tiene un controlador GET para /customers solo un controlador POST
En cartero puede cambiar su solicitud de GET a POST. Una vez que lo haga, debe llegar a este punto final de la ruta.
nota: "GET se usa para ver algo, sin cambiarlo, mientras que POST se usa para cambiar algo. Por ejemplo, una página de búsqueda debe usar GET para obtener datos, mientras que un formulario que cambia su contraseña debe usar POST. Esencialmente, GET se usa para recuperar datos remotos, y POST se usa para insertar/actualizar datos remotos".