【发布时间】:2020-03-28 04:40:18
【问题描述】:
我想制作一个记录器,它将从每个请求记录到数据库的某些信息。我知道如何制作一个控制器,我可以像这样将它链接到每条路线:
@override
Controller get entryPoint {
final router = Router();
router
.route('/register')
.link(() => LogController(context))
.link(() => RegisterController(context, authServer));
router
.route('/auth/token')
.link(() => LogController(context))
.link(() => AuthController(authServer));
router
.route('/logout')
.link(() => LogController(context))
.link(() => Authorizer.bearer(authServer))
.link(() => LogoutController(context));
router
.route('/words/[:id]')
.link(() => LogController(context))
.link(() => Authorizer.bearer(authServer))
.link(() => WordsController(context));
return router;
}
如您所见,LogController 在每条路线上都重复出现。
我宁愿只匹配来自单个位置的任何路由,记录数据,然后让其他控制器正常处理事情。这可能吗?
【问题讨论】:
标签: logging dart routes middleware aqueduct