JSPM

  • Created
  • Published
  • Downloads 51
  • Score
    100M100P100Q74648F
  • License MIT

Configurable node rest server

Package Exports

  • node-rest-server

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-rest-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-rest-api

Configuration only node rest server

The application will start express server by just passing routes configuration and controller will provide response.

Installation

This is a Node.js module available through the npm registry. Install using below command.

npm install node-rest-server

Features

Ready to use with easy configuration node server, so that developer can focus on actual business logic.

How to use

import RestServer from "node-rest-server";

RestServer(routeConfig, serverConfig);

Route Configuration

The configuration is an object with 2 properties:-

  1. Path: Uri which will serve a resource in rest server
  2. Route Options: Different options which define working of the path and also decide status and response payload.

Route Options

Name Type Default Description
method {string} GET Method defines the type of request controller will handle
controller {function|object} This function/object will contain the business logic for the route path. For function an object is passed which will contain url, body, params and header.
status (optional) {string} 200 An appropriate HTTP response status code which server will give response for a request

Example

const routeConfig = {
  '/test1': {
    method: 'GET',
    status: 200,
    controller: requestData => {
      return { payload: 'Data' };
    },
  },
  '/test2': {
    method: 'POST',
    controller: requestData => {
      return { status: 200, payload: { data: 'Data' }};
    },
  },
}

Server Configuration (optional)

This manages how server will be configured

Name Type Default Description
basePath {string} Common prefix for all the routes
port {Number} 8000 Port on which server will serve the content
delay (sec) {Number} 0 Forcefully delay the response timing in seconds

Example

const serverConfig = {
  basePath: '/base/api',
  port: 8080,
  delay: 2
};