@limitless.claver/node-express-router

0.2.6 • Public • Published

Node-Express-Router Documentation

This package provides a utility for creating API routes using Express.js. It simplifies the process of defining API endpoints and handling requests through controllers.

Installation

You can install this package using npm:

npm install @limitless.claver/node-express-router

Usage

To get started, import the necessary components from the package in your entry file:

import { Router, Controller } from "@limitless.claver/node-express-router";

Getting Started

Creating an API Resource

The apiResource method allows you to create a resource-based API with the specified controller and path:

import { Router, Controller } from "@limitless.claver/node-express-router";
// Replace
// const app = express();
const app = Router.app;

const userController = new Controller(); // Your controller instance

// Create a resource-based API for users
router.apiResource("/users", userController, [/* Middleware functions */]);

Adding Custom Routes

You can also add custom routes using the provided HTTP methods (get, post, put, delete):

import { Router, Controller } from "@limitless.claver/node-express-router";

const app = Router.app;

const customController = new Controller(); // Your controller instance

// Create a custom GET route
Router.get("/custom", customController.index, [/* Middleware functions */]);

// Create a custom POST route
Router.post("/custom", customController.store, [/* Middleware functions */]);

Creating an API Group

The group method allows you to create a group of routes with the specified path and middleware functions:

Note: The apiResource doesn't work inside a group. This would be fixed in a future release.

import { Router, Controller } from "@limitless.claver/node-express-router";
// Replace
// const app = express();
const app = Router.app;

// Create a group of routes for users
Router.group('/api', [/* Middlewares */], (router: any) => {
    router.get('/me', (new UserController().index));
    router.get('/me/:id', (new YouController()).show);
});

Using the Controller

Your controllers should implement the required methods to handle API requests. For example:

// Controller.js
export class Controller {
    index(req, res, next) {
        // Handle index action
    }

    show(req, res, next) {
        // Handle show action
    }

    store(req, res, next) {
        // Handle store action
    }

    update(req, res, next) {
        // Handle update action
    }

    destroy(req, res, next) {
        // Handle destroy action
    }
}

Conclusion

The Node-Express-Router Package simplifies the process of creating API routes and handling requests. With its resource-based API and custom route methods, you can easily build powerful APIs for your applications.

For more information, please refer to the GitHub repository and the package's npm page.

Readme

Keywords

Package Sidebar

Install

npm i @limitless.claver/node-express-router

Weekly Downloads

0

Version

0.2.6

License

MIT

Unpacked Size

1.86 MB

Total Files

7

Last publish

Collaborators

  • limitless.claver