@routup/swagger
TypeScript icon, indicating that this package has built-in type declarations

2.3.6 • Public • Published

@routup/swagger

npm version main codecov Known Vulnerabilities Conventional Commits

This is a plugin for reading and parsing the request payload.

Table of Contents

Installation

npm install @routup/swagger --save

Documentation

To read the docs, visit https://routup.net

Usage

Generator

Generate a swagger document for the API endpoints.

V2

import { generate, Version } from '@routup/swager';
import process from 'node:process';

await generate({
    version: Version.V2,
    options: {
        metadata: {
            preset: '@routup/swagger-preset',
            entryPoint: {
                cwd: process.cwd(),
                pattern: '**/*.ts',
            },
        },
        output: true,
        outputDirectory: 'writable',
        servers: ['http://localhost:3000/'],
    },
});

The function call will save the file under the location: ./writable/swagger.json.

V3

import { generate, Version } from '@routup/swager';
import process from 'node:process';

await generate({
    version: Version.V3,
    options: {
        metadata: {
            preset: '@routup/swagger-preset',
            entryPoint: {
                cwd: process.cwd(),
                pattern: '**/*.ts',
            },
        },
        output: true,
        outputDirectory: 'writable',
        servers: ['http://localhost:3000/'],
    },
});

The function call will save the file under the location: ./writable/swagger.json.

UI

Serve generated docs from (file- / web-) URL or based on a JSON file with swagger-ui.

import { createServer } from 'node:http';
import {
    createNodeDispatcher,
    Router
} from 'routup';
import { swaggerUI } from '@routup/swagger';

const router = new Router();

router.use('/docs', swaggerUI('test/data/swagger.json'));

const server = createServer(createNodeDispatcher(router));
server.listen(3000);

Now open the browser and visit:

http://localhost:3000/docs/

License

Made with 💚

Published under MIT License.

Package Sidebar

Install

npm i @routup/swagger

Weekly Downloads

468

Version

2.3.6

License

MIT

Unpacked Size

63.5 kB

Total Files

36

Last publish

Collaborators

  • tada5hi