にハンドラを追加し、私は実際に、されることを意味私はこのコードを持っていると仮定しています何:dynamicly急行ルート機能
var ARouter = Router();
@Validate({
params: {
id: joi.number(),
x: joi.number()
}
})
@HttpGet('/foo/:id')
foo(req: Request, res: Response) {
res.send('in foo').end();
}
function HttpGet(path: string) {
return function (target: ApiController, propertyName: string, descriptor: TypedPropertyDescriptor<RequestHandler>) {
ARouter.get(path, descriptor.value);
}
}
私がここに持っていることは、ルータ、デコレーター、および関数fooです。 HttpGetデコレータは、パス 'foo /:id'とfooがARouterの唯一のハンドラとしてルートを作成します。
@validateデコレータがfooルートハンドラスタックに別のハンドラ(特定の関数ミドルウェアがfooの前に呼び出される)を追加したいとします。例: それはrouter.get( '/ foo /:id /、validationFunction、foo)のようでした。
ルータのfooルートにdynamicllyハンドラを追加する方法はありますか?
ありがとうございます! decorators documentationに基づい