nestjs-rest-querynestjs-rest-query
AdaptersAdapters

Adapters

Escolha o ORM que combina com seu projeto — o nestjs-rest-query trabalha com TypeORM, Drizzle e permite adapters customizados.

O nestjs-rest-query separa a lógica de parsing de query params da implementação específica do ORM. Isso é feito através de adapters — cada adapter traduz queries normalizadas em chamadas nativas do ORM.

O padrão Adapter

Quando você decorar um endpoint com @ApiDynamicQuery ou @DynamicQuery, a biblioteca:

  1. Valida a query string contra o RulesConfig (whitelist de segurança)
  2. Normaliza os parâmetros: filtros, sorts, fields, includes
  3. Delega ao adapter — que transforma essa normalização em SQL/query nativa

O adapter é registrado uma vez via DynamicQueryBuilderModule.forRoot({ adapter }). A partir daí, a mesma RulesConfig funciona identicamente em qualquer ORM suportado.

Quando usar cada adapter

ORMQuando usarStatus
TypeORMVocê já usa TypeORM e @nestjs/typeorm. É o padrão — sem configuração extra.✅ Stable
DrizzleVocê prefere tipagem estrita, geração de schema type-safe, ou quer um ORM mais moderno. Requer configuração de relations map.✅ Stable
PrismaVocê já tem um schema Prisma. O adapter retorna o grafo aninhado nativo do Prisma e @prisma/client é peer dep opcional.✅ Stable
CustomVocê quer suportar Kysely, raw SQL, ou qualquer outro ORM. Implemente a interface RestQueryAdapter.📖 Saiba mais

Primeiros passos

Escolha seu ORM:

Editar esta página no GitHub

On this page