group method

void group({
  1. String prefix = '',
  2. List<HttpMiddleware> middleware = const [],
  3. required void routes(),
})

Defines a route group with shared prefix and middleware.

All routes defined inside routes callback inherit the prefix and middleware.

Example:

router.group(prefix: '/api/v1', middleware: [authMw], routes: () {
  router.get('/users', handler);
  // Becomes: GET /api/v1/users with authMw
});

Implementation

void group({
  String prefix = '',
  List<HttpMiddleware> middleware = const [],
  required void Function() routes,
}) {
  _prefixStack.add(_join(_currentPrefix, _normalizePrefix(prefix)));
  _mwStack.add([..._currentMiddleware, ...middleware]);

  try {
    routes();
  } finally {
    _prefixStack.removeLast();
    _mwStack.removeLast();
  }
}