Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

288
Views
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 answers
Answer question

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 Report

0

Probar:

 app.use(express.json({ extended: false }));
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!