1.1.0 • Published 7 years ago

fastify-router v1.1.0

Weekly downloads
1
License
BSD-3-Clause
Repository
github
Last release
7 years ago

fastify-router

Build Status Code Climate Test Coverage Dependency Status devDependency Status

Simple fastify router.

Install

$ npm install fastify-router

Example

const fastify = require('fastify')();
const fastifyRouter = require('fastify-router');

fastify.register(fastifyRouter);

const Router = fastify.Router;

const example = [
  { // Router
    prefix: '/home',
    routes: [
      { // Route /
        method: 'GET',
        url: '/',
        schema: {
          response: {
            200: { type: 'string' },
          },
        },
        handler: (request, reply) => reply.view('/example.pug'),
      },
    ],
  },
  { // Router
    prefix: '/users',
    routes: [
      { // Route /users/
        method: 'GET',
        url: '/',
        schema: {
          response: {
            200: {
              type: 'object',
              properties: [{
                name: { type: 'string' },
              }],
            },
          },
        },
        handler: (request, reply) => reply.send([{ name: 'Example' }]),
      },
      { // Route /users/:id
        method: 'GET',
        url: '/:id',
        schema: {
          response: {
            200: {
              type: 'object',
              properties: {
                name: { type: 'string' },
              },
            },
          },
        },
        handler: (request, reply) => reply.send({ name: 'Example' }),
      },
    ],
    routers: [
      { // Router
        prefix: '/register',
        routes: [
          { // Route /users/register
            method: 'POST',
            url: '/',
            schema: {
              response: {
                200: {
                  type: 'object',
                  properties: {
                    name: { type: 'string' },
                  },
                },
              },
            },
            handler: (request, reply) => reply.send({ name: 'Example' }),
          },
        ],
      },
    ],
  },
];

Router.route(example);