1.2.2 • Published 7 months ago

swagger-ui-slim v1.2.2

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

Swagger-UI-Slim

Description

This package is a lightweight, no-config required, Express based Swagger-UI implementation.

It is designed for use with an Express hosted API.

All you require is an OpenAPI Spec in a JSON format!

Usage

$ npm install swagger-ui-slim

It works extremely similarly to Swagger-UI-Express with one big tweak - no extras.

/* require */
const SwaggerUI = require("swagger-ui-slim");
const spec = require("openapi.json");

app.use("/api/docs", SwaggerUI.serve, SwaggerUI.build(spec));

/* or import! */
import { serve, build } from "swagger-ui-slim";
const spec = require("openapi.json");

app.use("/api/docs", serve, build(spec));
app.listen(3000);

Now you're read to go!

Customisation

The following customisation is available:

  • Display from JSON spec
  • Display from URL provided spec
  • Provide Favicon & Title

See examples below:

/* Displays spec from JSON provided and changes website's tab title/favicon */
const spec = {
    /* insert spec here */
};
const opts = {
    customSiteTitle: "Website Title",
    faviconUrl: "/favicon.ico",
};
app.use("/api/docs", SwaggerUI.serve, SwaggerUI.build(spec, opts));

/* Displays spec from JSON provided */
const spec = {
    /* insert spec here */
};
app.use("/api/docs", SwaggerUI.serve, SwaggerUI.build(spec));

/* Displays spec from URL provided in opts.swaggerUrl */
const opts = {
    customSiteTitle: "Website Title",
    swaggerUrl: "https://petstore.swagger.io/v2/swagger.json",
    faviconUrl: "/favicon.ico",
};
app.use("/api/docs", SwaggerUI.serve, SwaggerUI.build(null, opts));

/* Displays spec from from URL provided in opts.swaggerUrl and changes website's tab title/favicon */
const spec = {
    /* insert spec here */
};
const opts = {
    customSiteTitle: "Website Title",
    swaggerUrl: "https://petstore.swagger.io/v2/swagger.json",
    faviconUrl: "/favicon.ico",
};
app.use("/api/docs", SwaggerUI.serve, SwaggerUI.build(spec, opts));

NOTE: Passing "opts.swaggerUrl" will overwrite a given JSON spec and display the spec from the provided URL.

This UI will only display a single service and display customisation is disabled. This is to provide a no-config setup.

1.2.0

7 months ago

1.2.2

7 months ago

1.2.1

7 months ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.31

1 year ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago