1 | 'use strict';
|
2 |
|
3 | var fs = require('fs'),
|
4 | path = require('path'),
|
5 | http = require('http');
|
6 |
|
7 | var app = require('connect')();
|
8 | var swaggerTools = require('swagger-tools');
|
9 | var jsyaml = require('js-yaml');
|
10 | var serverPort = 3000;
|
11 |
|
12 |
|
13 | var options = {
|
14 | swaggerUi: path.join(__dirname, '/swagger.json'),
|
15 | controllers: path.join(__dirname, './controllers'),
|
16 | useStubs: process.env.NODE_ENV === 'development'
|
17 | };
|
18 |
|
19 |
|
20 | var spec = fs.readFileSync(path.join(__dirname,'api/swagger.yaml'), 'utf8');
|
21 | var swaggerDoc = jsyaml.safeLoad(spec);
|
22 |
|
23 |
|
24 | swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) {
|
25 |
|
26 |
|
27 | app.use(middleware.swaggerMetadata());
|
28 |
|
29 |
|
30 | app.use(middleware.swaggerValidator());
|
31 |
|
32 |
|
33 | app.use(middleware.swaggerRouter(options));
|
34 |
|
35 |
|
36 | app.use(middleware.swaggerUi());
|
37 |
|
38 |
|
39 | http.createServer(app).listen(serverPort, function () {
|
40 | console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
|
41 | console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort);
|
42 | });
|
43 |
|
44 | });
|