HTTPS与NodeJS swagger-express-mw npm包

我使用swagger-express-mw NPM包来创buildREST服务,当我用“swagger project start”运行项目,然后通过HTTP发布API时,我该如何使用HTTPS来代替。

我已经使用香草npm包使用HTTPS如下:

var fs = require('fs'); var https = require('https'); var app = require('express')(); var options = { key : fs.readFileSync('my.private.key'), cert : fs.readFileSync('my.certificate.cer') }; app.get('/', function (req, res) { res.send('Yuhooo! Response over HTTPS!!! '); }); https.createServer(options, app).listen(8443, function () { console.log('Server started @ 8443!'); }); 

但我不知道如何实现与swagger-express-mw相同,下面是我的app.js启动侦听器的代码片段。 在这里没有得到任何select使用HTTPS作为协议

 SwaggerExpress.create(configuration, function(err, swaggerExpress) { if (err) { throw err; } // install middleware swaggerExpress.register(app); var port = config.get('server.port') || process.env.PORT || 8080; app.listen(port); console.log('Server started at port %d', port); }); var swaggerDoc = jsYaml.load(fs.readFileSync('./api/swagger/swagger.yaml')); // Initialize the Swagger middleware for the api doc purpose swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) { // Serve the Swagger documents and Swagger UI app.use(middleware.swaggerUi()); }); 

app.listen只是一个你可以使用的快捷方式

 SwaggerExpress.create(configuration, function(err, swaggerExpress) { if (err) { throw err; } // install middleware swaggerExpress.register(app); var port = process.env.PORT || 443; https.createServer(options, app).listen(port, function () { console.log('Server started @ %s!', port); }); }); 

在中间件中使用Swagger 2.0规范,可以将swaggerconfiguration文件设置为只接受某些scheme:

 # Schemes is statically set here but will be overridden in app.js with swagger object schemes: - https 

您可以查看规范并转到固定字段: http : //swagger.io/specification/