Это работа с этим кодом:
const express = require('express');
const app = express();
const courses = [
{id: '1', name: 'ITCS1'},
{id: '2', name: 'ITCS2'},
{id: '3', name: 'ITCS3'},
];
app.get('/api/courses/:id', (req, res) => {
const course = courses.find(c => c.id === req.params.id);
if (!course) res.status(404).send('Course not found for given id');
});
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Listening on port ${port}`));
Причина, по которой вы получаете ошибку, потому что вы используете parseInt
.
И в ваших course
, ваш идентификатор - это строка, а не целое число . Таким образом, вам не следует использовать parseInt
.
Если вы хотите использовать parseInt, обновите массив курсов, делает ваш идентификатор целым числом , а не строкой.
Пример:
const courses = [
{id: 1, name: 'ITCS1'},
{id: 2, name: 'ITCS2'},
{id: 3, name: 'ITCS3'},
];
Теперь вы можете использовать parseInt (req.params.id), и он будет работать нормально.
Надеюсь, это могу вам помочь.