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

294
Vistas
Cartero "Enviando solicitud..." para siempre

Soy muy nuevo en node.js/express/postman, así que disculpe si esta pregunta es bastante novata. Tengo el siguiente código producido siguiendo un tutorial en línea. Usé Postman para probarlo. El problema es que, cuando agrego la línea app.use(express.json) , Postman no puede enviar la solicitud de publicación. Se atasca en "Enviando solicitud...". Si excluyo esa línea, las solicitudes "Obtener" funcionarán. Alguien sabe por qué... según este código. Esto es todo:

¡Gracias!

 const Joi = require('joi'); // Put required modules at the top const express = require('express'); const app = express(); app.use(express.json); const courses = [ { id: 1, name: 'course1' }, { id: 2, name: 'course2' }, { id: 3, name: 'course3' }, ]; app.get('/', (req, res) => { res.send('Hello world!!!'); }); app.get('/api/courses', (req, res) => { res.send(courses); }); app.post('/api/courses', (req, res) => { const { error } = validateCourse(req.body); if (error) return res.status(400).send(results.error.details[0].message); const course = { id: courses.length + 1, name: req.body.name }; courses.push(course); res.send(course); // assigning the id on the server. return course to client }); app.get('/api/courses/:id', (req, res) => { const course = courses.find(c => c.id === parseInt(req.params.id)) if (!course) return res.status(404).send('The course with the given ID was not found'); res.send(course); }); app.put('/api/courses/:id', (req, res) => { const course = courses.find(c => c.id === parseInt(req.params.id)) if (!course) return res.status(404).send('The course with the given ID was not found'); const { error } = validateCourse(req.body); if (error) return res.status(400).send(results.error.details[0].message); course.name = req.body.name; res.send(course); }); app.delete('/api/courses/:id', (req, res) => { const course = courses.find(c => c.id === parseInt(req.params.id)) if (!course) return res.status(404).send('The course with the given ID was not found'); const index = courses.indexOf(course); courses.splice(index, 1); res.send(course); }) function validateCourse(course) { const schema = { name: Joi.string().min(3).required() }; return Joi.ValidationError(course, schema); } // PORT const port = 3000; app.listen(port, () => console.log(`listening on port ${port}...`));
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su problema es el middleware json ( app.use(express.json); ), que requiere que devuelva JSON válido ( Content-Type: application/json ).

Obtuve su muestra ejecutándose, actualizándola a lo siguiente:

 app.get('/', (req, res) => { res.json({msg: 'Hello world!!!'}); });

Aquí hay una versión funcional: https://pastebin.com/06H6LCD2

over 4 years ago · Santiago Trujillo Denunciar

0

Probar:

 app.use(express.json({ extended: false }));
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