How to add new item to JSON object in Node.js and Express

1 Answer

0 votes
// 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.post('/', (req, res) => {
    const newUser = {
        id: 12345,
        name: req.body.name,
        age: req.body.age
    }
    if (!newUser.name || !newUser.age) {
        // 400 Bad Request
        return res.status(400).json({msg: 'Name and/or age missing'});
    } 

    users.push(newUser);
    res.json(users);
});
 
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 http://localhost:8080/users

Add: (On Postman - Body)
{
	"name": "Patrick",
	"age": 51
}
Result: 
[
    {
        "id": 52325,
        "name": "SpongeBob",
        "age": 23
    },
    {
        "id": 19473,
        "name": "Squidward Tentacles",
        "age": 35
    },
    {
        "id": 58237,
        "name": "Mr. Krabs",
        "age": 45
    },
    {
        "id": 12345,
        "name": "Patrick",
        "age": 51
    }
]

*/

 



answered Mar 19, 2020 by avibootz

Related questions

...