skyway

An express routing library that leverages swagger (open api) definitions to validate incoming and outgoing data.

Usage no npm install needed!

<script type="module">
  import skyway from 'https://cdn.skypack.dev/skyway';
</script>

README

skyway

DEPRECATION NOTICE This module is no longer supported. I've come around to not liking the patterns that this module enforces, and I'm sure other tools do things in a much better way.

NPM version Dependency Status Dev Dependency Status Code Climate Build Status Coverage Status

An express routing library that leverages swagger (open api) definitions to validate incoming and outgoing data.

For information on the swagger api, visit the official site or the official spec

Installation

yarn add skyway
# or
npm install --save skyway
const express = require('express')
const skyway = require('skyway')
const bodyParser = require('body-parser')
const routes = require('./routes')

const app = express()
const api = skyway(`${__dirname}/swagger.yaml`)

app.get('/swagger.json', api.docs())
app.use('/docs', api.ui('/swagger.json'))
app.use(
  api.routes({
    parsers: {
      'application/json': bodyParser.json()
    }
  })
)
app.use(routes)

app.listen(8000)

Docs

The API docs for this version are located here. Swagger 2.0 is the only version supported at the moment, but when OpenAPI Spec 3.0 comes out, I will support both.