Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

672
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda