// Users.js
const users = [
{
id: 52325,
name: 'SpongeBob',
age: 23
},
{
id: 19473,
name: 'Squidward Tentacles',
age: 35
},
{
id: 58237,
name: 'Mr. Krabs',
age: 45
}
];
module.exports = users;// routes/users.js
const express = require('express');
const users = require('../Users');
const router = express.Router();
router.put('/:id', (req, res) => {
const found = users.some(users => users.id === parseInt(req.params.id));
if (found) {
const updateUser = req.body;
users.forEach(user => {
if (user.id === parseInt(req.params.id)) {
user.name = updateUser.name ? updateUser.name : user.name;
user.age = updateUser.age ? updateUser.age : user.age;
res.json({ msg: `User ${req.params.id} updated`, users})
}
});
} else {
// 400 Bad Request
res.status(400).json({msg: `User ${req.params.id} not found`})
}
});
module.exports = router;// index.js
const express = require('express');
const app = express();
app.use(express.json());
app.use('/users', require('./routes/users'))
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
/*
run:
Server started on port 8080
On Postman - Body (PUT)
{
"age": 30
}
On http://localhost:8080/users/52325
{
"msg": "User 52325 updated",
"users": [
{
"id": 52325,
"name": "SpongeBob",
"age": 30
},
{
"id": 19473,
"name": "Squidward Tentacles",
"age": 35
},
{
"id": 58237,
"name": "Mr. Krabs",
"age": 45
}
]
}
*/