Documentation
    Preparing search index...

    Module @map-colonies/openapi-express-viewer

    OpenAPI Express Viewer

    A lightweight Express.js middleware for serving OpenAPI/Swagger documentation with both UI and raw spec endpoints.

    • Serve Swagger UI for interactive API documentation
    • Serve raw OpenAPI specification in JSON and YAML formats
    • Support for both file-based and object-based specifications
    • TypeScript support out of the box

    Check the autogenerated documentation here.

    npm install @map-colonies/openapi-express-viewer
    
    import express from 'express';
    import { OpenapiViewerRouter } from '@map-colonies/openapi-express-viewer';

    const app = express();

    const config = {
    filePathOrSpec: './openapi.yml', // Path to your OpenAPI spec file
    uiPath: '/api-docs', // UI endpoint
    rawPath: '/spec' // Raw spec endpoint
    };

    const openapiRouter = new OpenapiViewerRouter(config);
    openapiRouter.setup();
    app.use('/', openapiRouter.getRouter());

    app.listen(3000);
    import { OpenapiViewerRouter } from '@map-colonies/openapi-express-viewer';

    const openapiSpec = {
    openapi: '3.0.0',
    info: {
    title: 'My API',
    version: '1.0.0'
    }
    // ... rest of your OpenAPI specification
    };

    const config = {
    filePathOrSpec: openapiSpec,
    uiPath: '/api-docs'
    };

    const openapiRouter = new OpenapiViewerRouter(config);
    // ... rest of setup
    Option Type Required Description
    filePathOrSpec string | object Yes Path to OpenAPI spec file or specification object
    uiPath string Yes Endpoint path for Swagger UI
    rawPath string No Endpoint path for raw specification files

    When configured with rawPath: '/spec', the following endpoints become available:

    • GET /spec.json - Raw OpenAPI spec in JSON format
    • GET /spec.yml - Raw OpenAPI spec in YAML format
    • GET /spec.yaml - Raw OpenAPI spec in YAML format (alternative extension)
    • GET /api-docs - Swagger UI interface (based on uiPath configuration)

    Classes

    OpenapiViewerRouter

    Interfaces

    OpenapiRouterConfig