How to use swagger-jsdoc - 10 common examples

To help you get started, we’ve selected a few swagger-jsdoc examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github lupyana / Ride-My-Way / backend / src / app.js View on Github external
info: {
      title: 'Ride My Way',
      version: '1.0.0',
      description: 'API documentation for ridemyway, Curtesy of ALC, ForloopTanzania',
      contact: {
        name: 'Lupyana Mbembati',
        email: 'lupyanambembati@gmail.com',
      },
    },
    basePath: '/api-docs',
  },
  // List of files to be processes. You can also set globs './routes/*.js'
  apis: ['./src/router/*.js'],
};

const swaggerSpec = swaggerJsdoc(options);

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.resolve(`${__dirname}/../../frontend/build`)));
app.get('/', (req, res) => res.sendFile(path.resolve(`${__dirname}/../../frontend/build/index.html`)));
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
app.use('/api/v1', authRoutes);
app.use('/api/v1', router);

if (process.env.NODE_ENV !== 'test') {
  app.listen(port, () => console.log(`Example app listening on port ${port}!`));
}
export default app;
github ramdesh / node-express-es6-base / src / ConfigIoc.js View on Github external
info: {
        title: 'RESTful web services for node/express/es6 starter',
        version: '1.0.0',
        description: 'Documentation for node/express/es6 starter',
    },
    host: 'localhost:3001',
    basePath: '/v1/',
    schemes: ['http'],
    consumes: ["application/json"],
    produces: ["application/json"]
};
let options = {
    swaggerDefinition: swaggerDefinition,
    apis: ['dist/api/**/*.js']
};
let swaggerSpec = swaggerJSDoc(options);

console.log("Registering dependencies...");
container.register({
    // Register libraries
    q: awilix.asValue(q),
    express: awilix.asValue(express),
    underscore: awilix.asValue(underscore),
    router: awilix.asClass(router).singleton(),
    config: awilix.asValue(config),
    exceptionFactory: awilix.asClass(ExceptionFactory).singleton(),
    constants: awilix.asValue(constants),
    swaggerSpec: awilix.asValue(swaggerSpec),
    mongoose: awilix.asValue(mongoose),
    helpersUtil: awilix.asValue(HelpersUtil),

    // Register middleware
github mesaugat / express-api-es6-starter / src / utils / swagger.js View on Github external
const swaggerOptions = {
  // import swaggerDefinitions
  swaggerDefinition: swaggerDefinition,
  // path to the API docs
  apis: [
    path.join(__dirname, '/../routes.js'),
    path.join(__dirname, '/../docs/*.js'),
    path.join(__dirname, '/../docs/*.yml'),
    path.join(__dirname, '/../docs/*.yaml')
  ]
};

/**
 * Initialize swagger-jsdoc.
 */
const swaggerSpec = swaggerJSDoc(swaggerOptions);

export default swaggerSpec;
github stefanvanherwijnen / quasar-auth-starter / backend / src / common / swagger / index.ts View on Github external
import swaggerUi from 'swagger-ui-express'
import swaggerJSDoc from 'swagger-jsdoc'
const options = {
  definition: {
    openapi: '3.0.0',
    info: {
      title: 'ExpressTS Api Starter',
      version: '0.1.0',
      description: 'Starter kit for an ExpressJS API in TypeScript with Paseto authentication'
    },
  },
  // Path to the API docs
  apis: ['src/api/controllers/*.ts', 'src/routes.ts'],
}
const swaggerSpec = swaggerJSDoc(options)

export default function (app): void {
  app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(null, {swaggerUrl: '/swagger.json'}))
  app.get('/swagger.json', (req, res): void => {
    res.setHeader('Content-Type', 'application/json')
    res.send(swaggerSpec)
  })
}
github kevoj / nodetomic-api-swagger / src / core / swagger / config.js View on Github external
flow: 'implicit',
          authorizationUrl: `http://${config.server.ip}:${config.server.port}/auth/github`,
          // tokenUrl: `http://${config.server.ip}:${config.server.port}/#/token`,
          description: 'Example oAuth by Github, copy paste token generate in Api key authorization'
        }
      }
    },
    consumes: ['application/json'],
    produces: ['application/json'],
    apis: [
      `${config.base}/auth/**/*.yaml`,
      `${config.base}/api/**/*.yaml`
    ]
  };

  return swaggerJSDoc(options);

  // If you want use Swagger into .js = ${config.base}/**/*.js
  /**
   * @swagger
   * definitions:
   *   Example:
   *     properties:
   *       field1:
   *         type: string
   *       field2:
   *         type: string
   */

  /**
   * @swagger
   * /api/example:
github kevoj / nodetomic-api-swagger / src / lib / swagger / config.js View on Github external
flow: 'implicit',
          authorizationUrl: `http://${config.server.ip}:${config.server.port}/auth/github`,
          // tokenUrl: `http://${config.server.ip}:${config.server.port}/#/token`,
          description: 'Copy the generated token value in the url, and paste it into "Api key authorization"'
        }
      }
    },
    consumes: ['application/json'],
    produces: ['application/json'],
    apis: [
      `${config.base}/auth/**/*.yaml`,
      `${config.base}/api/**/*.yaml`
    ]
  };

  return swaggerJSDoc(options);

  // If you want use Swagger into .js = ${config.base}/**/*.js
  /**
   * @swagger
   * definitions:
   *   Example:
   *     properties:
   *       field1:
   *         type: string
   *       field2:
   *         type: string
   */

  /**
   * @swagger
   * /api/example:
github kevoj / nodetomic-api-swagger / src / core / swagger.js View on Github external
// }
      }
    },
    consumes: ['application/json'],
    produces: ['application/json'],
    // path to the API docs
    // apis: [`${config.base}/api/${version}/**/*.yaml`,
    //   `${config.base}/lib/**/*.yaml`
    // ]
    apis: [
      `${config.base}/auth/**/*.yaml`,
      `${config.base}/api/swagger/**/*.yaml`
    ]
  };

  let swaggerSpec = swaggerJSDoc(options);

  if (config.swagger.enabled)
    app.get(`/swagger.json`, (req, res) => res.json(swaggerSpec));

  return swaggerSpec;


  // If you want use Swagger into .js = ${config.base}/**/*.js

  /**
   * @swagger
   * definitions:
   *   Example:
   *     properties:
   *       field1:
   *         type: string
github bookbrainz / bookbrainz-site / src / api / swagger.js View on Github external
title: 'BookBrainz API Documentation',
			version: '0.1.0'
		},
		schemes: [isDev ? 'http' : 'https']
	}
};

const swaggerUIOptions = {
	swaggerOptions: {
		deepLinking: true,
		defaultModelExpandDepth: 3,
		defaultModelsExpandDepth: 3,
		operationsSorter: 'alpha'
	}
};
const swaggerSpec = swaggerJSDoc(swaggerOptions);

router.get('/json', (req, res) => {
	res.setHeader('Content-Type', 'application/json');
	res.send(swaggerSpec);
});

router.use('/', swaggerUi.serve, swaggerUi.setup(swaggerSpec, swaggerUIOptions));


export default router;
github huridocs / uwazi / app / api / swagger / swaggerconfig.js View on Github external
],
    definitions: {
      Error: {
        properties: {
          error: { type: 'string' }
        }
      }
    }
  };

  const options = {
    swaggerDefinition,
    apis: [`${__dirname}/../**/*.js`]
  };

  const swaggerSpec = swaggerJSDoc(options);
  app.get('/api/swagger.json', (req, res) => {
    res.setHeader('Content-Type', 'application/json');
    res.send(swaggerSpec);
  });

  app.use('/api', express.static(path.resolve(__dirname, '../../../public/swaggerUI')));
};
github paigen11 / mysql-registration-passport / api / server.js View on Github external
securityDefinitions: {
    bearerAuth: {
      type: 'apiKey',
      name: 'Authorization',
      scheme: 'bearer',
      in: 'header',
    },
  },
};

const options = {
  swaggerDefinition,
  apis: ['./routes/*.js'],
};

const swaggerSpec = swaggerJSDoc(options);

app.get('/swagger.json', (req, res) => {
  res.setHeader('Content-Type', 'application/json');
  res.send(swaggerSpec);
});

require('./config/passport');

const whitelist = [
  'http://localhost:3031',
  'http://localhost:3000',
  'http://localhost:3003',
];
const corsOptions = {
  origin: (origin, callback) => {
    if (whitelist.indexOf(origin) !== -1) {

swagger-jsdoc

Generates swagger doc based on JSDoc

MIT
Latest version published 4 months ago

Package Health Score

81 / 100
Full package analysis

Popular swagger-jsdoc functions