koa-joi-router-docs-v2
v1.5.4
Published
OpenAPI(aka Swagger) API docs generator for koa-joi-router.
Downloads
1,579
Readme
Koa-Joi-Router Docs Generator V2
Why v2?
This project is based on https://github.com/chuyik/koa-joi-router-docs which does not support latest Joi version.
This project uses latest
koa-joi-router
package. Also this package usesjoi-to-swagger
.Also we can rename keys, like
nullable
to bex-nullable
. For example for redoc
Example:
const spec = generator.generateSpec({
info: {
title: 'Example API',
version: '1.1'
},
basePath: '/'
}, undefined, { 'nullable': 'x-nullable' });
Migration from koa-joi-router-docs
No additional action required, it should be possible just to replace older package.
About the package
A node module for generating Swagger 2.0 JSON definitions from existing koa-joi-router routes.
Preview
Install
# use npm
npm install koa-joi-router-docs-v2 --save
# use yarn
yarn add koa-joi-router-docs-v2
Example
Visit example/ folder to see the full example.
API
new SwaggerAPI()
Creates a new SwaggerAPI instance.
swaggerAPI.addJoiRouter(router, options)
Add a joi-router instance to the API. The router should already have all its
routes set up before calling this method (which pulls the route definitions
from the router's .routes
property).
Options:
- prefix: Prefix to add to Swagger path (use prefix from JoiRouter if not set)
swaggerAPI.generateSpec(baseSpec, options, renameKeys)
Create a Swagger specification for this API. A base specification should be
provided with an info
object (containing at least the title
and version
strings) and any other global descriptions.
baseSpec
example:
{
info: {
title: 'Example API',
version: '1.1'
},
basePath: '/'
}
options
example:
- defaultResponses: Custom default responses
{
200: {
description: 'Success'
}
}
renameKeys
example:
{ 'nullable': 'x-nullable' }