Joi-Swagger
Rest API docs generator based on OPENAPI 3 and swagger-ui
Installation
npm install joi-swagger
Example
const joiSwagger = ;const joi = // routes examplesconst routes path: "/client/login" method: "GET" summary: "Login endpoint with email and password (1)" description: "Login endpoint with email and password ..." validations: query: joiobject email: joidescription"user email" password: joidescription"user password" output: 200: joiobject{} method: "GET" summary: "Items details endpoint (2)" description: "Items details endpoint ..." path: "/items/{itemId}/details" validations: path: joiobject itemId: joidescription"this is items ID" method: "POST" summary: "update item in the database (3)" description: "update items ops ..." path: "/items/{itemId}/details" validations: body: joiobject itemId: joidescription"this is items ID" method: "post" path: "/{id}" summary: "Update (4)" description: "update description" validations: path: joiobject id: joidescription"user ID" body: joiobject avatar: joi icon: joi email: joi description"this user email" height: joi skills: joi description"Skills" retired: joi certificate: joiencoding"base64" method: "put" summary: "Update item price in the database " description: "Update item price information" path: "/items/{itemId}/update" validations: path: joiobject itemId: joidescription"this is items ID" body: joiobject name: joidescription"Items name" price: joidescription"Item price" expiationDate: joidescription"Item expiration date" responses: 200: description: "Returned updated item ????? " schema: Joiobject name: joi description"Items name" price: joidescription"Item price" expiationDate: joidescription"Item expiration date" company: joidescription"Food company name" description"Returned item after update" 400: description: "Some error" schema: Joi ; // lunch http server to serve API documentaionsconst PORT = 8081
License
MIT