Swagger
Simplify API development for users, teams, and enterprises with the Swagger open source and professional toolset. Find out how Swagger can help you design and document your APIs at scale. https://swagger.io/
The power of Swagger tools starts with the OpenAPI Specification — the industry standard for RESTful API design
Difference between Swagger and OpenAPI #
OpenAPI = Specification Swagger = Tools for implementing the specification
NodeJS #
Try out option with Bearer token authorization #
used the following swagger config with packages
- “swagger-autogen”: “^2.16.0”,
- “swagger-ui-express”: “^4.2.0”
did this in API project of the tadafuq
const options = { openapi: '3.0.0' };
const swaggerAutogen = require('swagger-autogen')(options)
const outputFile = './swagger.json'
// const endpointsFiles = [
// "./routes/auth.js",
// "./routes/categories.js",
// "./routes/comments.js",
// "./routes/docs.js",
// "./routes/feelings.js",
// "./routes/histories.js",
// "./routes/replies.js",
// "./routes/search.js",
// "./routes/subscriptions.js",
// "./routes/users.js",
// "./routes/videos.js",
// ]
const endpointsFiles = ["./app.js"]
const doc = {
info: {
version: '', // by default: '1.0.0'
title: '', // by default: 'REST API'
description: '', // by default: ''
},
host: 'localhost:3001', // by default: 'localhost:3000'
basePath: '', // by default: '/'
schemes: [], // by default: ['http']
consumes: [], // by default: ['application/json']
produces: [], // by default: ['application/json']
tags: [ // by default: empty Array
{
name: '', // Tag name
description: '', // Tag description
},
// { ... }
],
security: [{ bearerAuth: [] }],
securityDefinitions: {
bearerAuth: {
type: 'http',
scheme: 'bearer',
bearerFormat: 'JWT'
}
}, // by default: empty object (Swagger 2.0)
definitions: {}, // by default: empty object
components: {} // by default: empty object (OpenAPI 3.x)
};
swaggerAutogen(outputFile, endpointsFiles, doc).then(() => {
require('./app') // Your project's root file
})
This answer stackoverflow helped
Versions #
Version 3 is renamed as ‘OpenAPI’, earlier versions were called ‘Swagger 1.0, 2.0’