Skip to content

TakNePoidet/fastify-route-group

Repository files navigation

fastify-route-group

Grouping and inheritance of routes

Installation

npm i fastify-route-group

or

yarn add fastify-route-group

Usage

const fastify = require('fastify');
const { Router } = require('fastify-route-group');

async function bootstrap() {
  const server = fastify();
  const router = new Router(server);

  router.get('/', (_, reply) => {
    reply.send('index page');
  });

  router.namespace('api', () => {
    router.namespace('methods', () => {
      router.prefix('posts.', () => {
        router.get('get', (_, reply) => {
          reply.send('get posts from API');
        });
      });
      router.prefix('users.', () => {
        router.get('get', (_, reply) => {
          reply.send('get users from API');
        });
      });
    });
  });
  await server.listen(3000);
}

bootstrap()
  .then();

The following routes are obtained

Url Description
/ index page
/api/methods/posts.get posts api
/api/methods/users.get users api