Здравствуйте!
Я указал на декоратор в одном маршруте, но он вообще не работал. Затем я подключил guard к модулю, как показано в документации. Теперь guard обрабатывает любой запрос. по любому маршруту, даже там где нет декоратора 
Так ли это должно быть? 
Не могли бы вы подсказать мне, как я могу заставить декоратор работать только на тех маршрутах, где присутствует декоратор?
export const Permissions = (...permissions: PermissionEnum[]) =>
  SetMetadata('permissions', permissions);
@Injectable()
export class PermissionGuard implements CanActivate {
  constructor(private reflector: Reflector) {}
  canActivate(
    context: ExecutionContext,
  ): boolean | Promise<boolean> | Observable<boolean> {
    const requirePermissions = this.reflector.getAllAndOverride<
      PermissionEnum[]
    >('permissions', [context.getHandler(), context.getClass()]);
    console.log(requirePermissions, 'requirePermissions');
    if (!requirePermissions) {
      throw new HttpException(
        lang.ru.http_exceptions.forbidden,
        HttpStatus.FORBIDDEN,
      );
    }
    const user = context.switchToHttp().getRequest();
    //console.log(context.switchToHttp(), 'switchToHttp');
    //console.log(context.switchToHttp().getRequest(), 'getRequest');
    return false;
  }
}
@HttpCode(201)
  @UseGuards(JwtAuthGuard)
  @Permissions(PermissionEnum.USER_VIEW)
  @Get('/users')
  getAll(@Query() query: AdminUserQueryDto) {
    return this.adminService.getUsers(query);
  }
@Module({
 ...
  providers: [RoleService, { provide: APP_GUARD, useClass: PermissionGuard }],
  ...
})
export class RoleModule {}