如何创建自定义的Routing-Controller方法装饰器,例如Authorized

时间:2020-05-09 03:20:13

标签: node.js typescript

我注意到我们能够创建自定义参数装饰器,但是我似乎找不到找到自定义方法装饰器的方法。

我希望能够创建自己的类似于Authroized装饰器的版本,以执行一些附加检查。然后,我可以通过添加或删除装饰器将它们组合在一起。

例如,一条路线可能看起来像这样:

@Authorized()
@SomeCheck()
@SomeOtherCheck()
@Post("/someRoute")
public CompleteOnboarding(){

}

@Authorized()
@SomeCheck()
@ADifferentCheck()
@Post("/someRoute")
public CompleteOnboarding(){

}

似乎我可以将一些假的“角色”放入Authorized中,并让我的authorizationChecker根据传入的“ roles”执行其他检查,但这似乎是一个有点骇人听闻,而且扩展性很差,所以我想也许还有另一种方法。

0 个答案:

没有答案