Postman Internal Server Error

Hi there!

I’m following the Calling endpoints using Postman in the Node course and I’m receiving an internal server 500 error in Postman. The error I receive in the cmd prompt is TypeError: Cannot read property ‘name’ of undefined.

The code I’m running is identical to the one shared in the lesson. See the screen recording below. I’ve included the code I’m running as well.

Screen recording: Loom | Free Screen & Video Recording Software

Code:

const express = require('express');

const app = express();

const courses = [

  { id: 1, name: 'course1' },

  { id: 2, name: 'course2' },

  { id: 3, name: 'course3' }

];

app.get('/api/courses', (req, res) => {

  res.send(courses);

});

app.post('/api/courses', (req, res) => {

  const course = {

    id: courses.length + 1,

    name: req.body.name

  }

  courses.push(course);

  res.send(course);

});

app.get('/api/courses/:id', (req, res) => {

  const course = courses.find(c => c.id === parseInt(req.params.id));

  if(!course) res.status(404).send('The course with the given ID was not found');

  res.send(course);

});

const port = process.env.PORT || 3000;

app.listen(port, () => { console.log(`listening on port ${port}...`) });

Issue resolved. I was missing the middleware piece of code app.use(express.json());