[swaggerize-express] Add RequestHandler array to RouteSegment i/f (#20001)

* Added RequestHandler array to RouteSegment i/f

Also replaced a couple of String declarations with string.

* Removed spread operators to downgrade to TypeScript 2.0
This commit is contained in:
nickmorton
2017-10-02 21:05:32 +01:00
committed by Ryan Cavanaugh
parent aeea74dbb6
commit bfafb5ffc6
2 changed files with 31 additions and 25 deletions

View File

@@ -224,13 +224,13 @@ declare namespace swaggerize {
}
export interface RouteSegment {
[urlSegment: string]: RouteSegment | express.RequestHandler;
[urlSegment: string]: RouteSegment | express.RequestHandler | express.RequestHandler[];
}
export interface Options {
api: Swagger.ApiDefinition
docspath: String
handlers: String | RouteSegment
docspath: string
handlers: string | RouteSegment
}
export interface IConfig {

View File

@@ -2,35 +2,26 @@ import http = require('http');
import express = require('express');
import swaggerize = require('swaggerize-express');
const api = {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {
}
};
var app = express();
app.use(swaggerize(<swaggerize.Options>{
api: {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {
}
},
api,
docspath: '/api-docs',
handlers: './handlers'
}));
app.use(swaggerize(<swaggerize.Options>{
api: {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {
}
},
api,
docspath: '/api-docs',
handlers: {
'api': {
@@ -43,6 +34,21 @@ app.use(swaggerize(<swaggerize.Options>{
}
}));
app.use(swaggerize(<swaggerize.Options>{
api,
docspath: '/api-docs',
handlers: {
'api': {
'authenticated-path': {
'$get': [
(req: express.Request, res: express.Response, next: express.NextFunction) => next(),
(req: express.Request, res: express.Response) => res.send('v1'),
]
}
}
}
}));
var server = app.listen(18888, 'localhost', function () {
(<swaggerize.SwaggerizedExpress>app).swagger.api.host = server.address().address + ':' + server.address().port;
});