Я хочу создать регистратор, который будет записывать определенную информацию из каждого запроса в базу данных. Я знаю, как сделать контроллер, и я мог бы связать его с каждым маршрутом, например:
@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
повторяется для каждого маршрута.
Я бы предпочел просто сопоставить любой маршрут из одного места, зарегистрировать данные, а затем позволить другим контроллерам обрабатывать вещи как обычно. Это возможно?