loading...

HTTP Post Verb

mtee profile image Margaret W.N Updated on ・1 min read

Post allows us to add items to our database. It takes two parameters, a request and response. Syntax:

app.post((req, res) => {

return res.json( )
});

Asumming we want to add an new student to our database:

studentRouter.route('/students') // the route
  .post((req, res) => {
    //create a new object and pass in req.body which holds the data.
    const student = new Student(req.body);
    //return the data
    return res.json(student);
  })

req.body does not exist so we need to extract it from the incoming request using bodyparser.

Bodyparser

Run npm install body-parser from the terminal to install it.
Include it in our js file:

const bodyParser = require('body-parser');

Setup by adding the following code:

app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());

Both bodyParser.urlencoded and bodyParser.json are middleware for parsing data. Parsing is analyzing and converting data to a format that the runtime understands. bodyParser.json parses JSON's data. bodyParser.urlencoded parses bodies from urls, the key value pair extended: true allows us to choose between the query string library :false and qs :true library.

Saving added data to our database.

We chain a save ( ) method to our object:

studentRouter.route('/students') // the route
  .post((req, res) => {
    const student = new Student(req.body);

    student.save();
    return res.json(student);
  })

We use postman to test this out, but i'm not going to dive into that.

Let's call it a day!

Posted on by:

mtee profile

Margaret W.N

@mtee

Developer | GADs 20 scholar | Diving into backend

Discussion

markdown guide