Initialize the Project


> mkdir restTest
> cd restTest

> npm init

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (resttest) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/john.mehan/dev/node/restTest/package.json:

{
  "name": "resttest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes)
> 


This will have created your package.json file.


Add Packages


Let's install express and nodmon, express will be used to create the server while nodmon will help us to keep track of changes to our application by watching changed files and automatically restart the server.

> npm install --save-dev nodemon
> npm install express --save


Code


> vi server.js

var express = require('express'),
  app = express(),
  port = process.env.PORT || 3000
  bodyParser = require('body-parser');

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

var routes = require('./routes'); //importing route
routes(app); //register the route

app.listen(port);

console.log('todo list RESTful API server started on: ' + port);


vi routes.js

'use strict';
module.exports = function(app) {
  var controller = require('./controller');

  // Routes
  app.route('/tasks')
    .get(controller.list_all_tasks)

};


> vi controller.js

'use strict';
  
exports.list_all_tasks = function(req, res) {
      res.send("hi");
};



Run it:

> npm run start


Navigate to http://localhost:3000/tasks





References


ReferenceURL

Build Node.js RESTful APIs in 10 Minutes

https://www.codementor.io/@olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd