1.0.13 • Published 7 years ago

expressa-swagger v1.0.13

Weekly downloads
2
License
ISC
Repository
github
Last release
7 years ago

Beautifully generated documentation + restclients for Express + Expressa using swagger + markdown

npm.io

Features

  • generates online documentation at /api/doc
  • generates swagger json at /api/swagger

Usage

npm install expressa-swagger --save

NOTE: windows users need to make their own symlinks (see 'postinstall' in package.json)

Then add this snippet to your expressa application:

var expressaSwagger = require('expressa-swagger')
expressaSwagger({
  express: express, 
  expressa: expressa, 
  app: app, 
  url: '/api/doc', 
  title: 'My appname', 
  description: "Lorem ipsum `markdown`",  // or just pass  __dirname+"/API.md" e.g.
  version: '1.0.0', 
  basepath: '/api', 
  schemes: ["http"], 
  onDocumentation: function(swagger, req, res, next){
    // optionally hide/modify swagger data here, or add auth middleware 
    // before serving it to the documentation generator at /api/doc
  }
})

Grab REST-clients for almost any language using swagger-codegen.

NOTE: For the browser & nodejs, the recommended REST-client is expressa-restclient(https://npmjs.org/package/expressa-restclient]

Adhoc endpoint documentation

Anywhere in your expressa-app, you can add documentation for endpoints like so:

expressa.swagger.addEndpoint("get", "my/custom/endpoint",{
  "parameters": [
    {
      "in": "body",
      "name": "payload",
      "description": "", 
      "required": true,
      "schema": {
        "type": "object",
        "required":["id_user"],                  // see swagger
        "properties": {                          // documentation
          "id_user":{
            "required":true, 
            "type":"string",
            "default":"lLK34LK" 
          }
        }
      }
    }    
  ],
  "responses": { },
  "tags": [ "users" ],
  "summary": "Lorem ipsum"
})

Todo

  • option boolean to authenticate user + only show those endpoints/methods/properties which user has access to
1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago