Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

673
Vistas
node.js / express, el cuerpo de la solicitud es nulo

learning express y, por alguna razón, el cuerpo de mi solicitud es NULL para ambos parámetros

mi archivo completo para index.js:

 const express = require('express') const bodyParser = require('body-parser') const app = express() const port = 3000 const db = require('./queries') app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true })); app.get('/',(request, response) => { response.json({info: 'express and postgresapi'}) }) app.post('/users', db.createUser) app.listen(port, () => { console.log(`App running on port ${port}.`) })

y mi archivo de consultas donde estoy haciendo el POST

 const Pool = require('pg').Pool const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'chatDb', password: 'password1', port: 5432, }) const createUser = (request, response) => { const { name, email } = request.body console.log(request.query); pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })

}

así que esto realmente SÍ se publica, pero cuando miro las filas en mi base de datos son como

 ID name email 20 NULL NULL

mi curl es curl --data "name=Elaine&email=elaine@example.com" http://localhost:3000/users

también, el resultado de console.log(request.query); es {}

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Oye, necesitas pasar un objeto si estás usando cartero

 { "name":"your name here", "email":"email that you want" }

Espero que esto ayude

over 4 years ago · Santiago Trujillo Denunciar

0

  1. Si está enviando parámetros de solicitud como parámetros, use -
 const createUser = (request, response) => { const { name, email } = request.query; pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })
  1. Si está enviando parámetros de solicitud dentro del cuerpo, use:
 const createUser = (request, response) => { const { name, email } = request.body; pool.query('INSERT INTO users (name, email) VALUES ($1, $2)', [name, email], (error, results) => { if (error) { console.log(request.body) throw error } response.status(201).send(`User added with ID: ${results.insertId}`) })

** puede abrir su cartero y obtendrá dos opciones Params y Body Options. Si selecciona Cuerpo, envíe el cuerpo de la solicitud utilizando el formato urlencode o json porque agregó el analizador de cuerpo:

 app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true }));
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda