swagger-node icon indicating copy to clipboard operation
swagger-node copied to clipboard

Trying to load multiple swagger files

Open suniljain524 opened this issue 8 years ago • 1 comments

I could not find the documentation related to api versioning with swagger.

I want to load multiple swagger.yaml like swagger.v1.yaml and swagger.v2.yaml

Can you please help me, how can we achieve this.

I am trying to create app from below code-

SwaggerExpress.create(config, function(err, swaggerExpress) { if (err) { throw err; }

// install middleware swaggerExpress.register(app);

var port = process.env.PORT || 10010; app.listen(port);

if (swaggerExpress.runner.swagger.paths['/hello']) { console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott'); } });

suniljain524 avatar Apr 12 '17 15:04 suniljain524

try this:

var SwaggerExpress = require('swagger-express-mw');
var express = require('express')
var app = express();
var app1 = express();
var app2 = express();

var config1 = {
  appRoot: __dirname,
  swaggerFile: "./api/swagger/version1.yaml"
};

var config2 = {
  appRoot: __dirname,
  swaggerFile: "./api/swagger/version2.yaml"
};

SwaggerExpress.create(config1, function(err, swaggerExpress) {
  if (err) { throw err; }

  // install middleware
  swaggerExpress.register(app1);
}

SwaggerExpress.create(config2, function(err, swaggerExpress) {
  if (err) { throw err; }

  // install middleware
  swaggerExpress.register(app2);
}

app.use('/api/v1', app1);
app.use('/api/v2', app2);

var port = process.env.PORT || 10010;
app.listen(port);

andrea689 avatar May 20 '18 09:05 andrea689