Groupes de tags + Redoc

Enregistre des groupes via docs({ group, tags }) et rattache l'extension x-tagGroups au document avant de le servir.

Enregistrer les groupes

users.controller.docs.ts / roles.controller.docs.ts
docs(UsersController, {
  classDecorators: [ApiTags('users')],
  group: 'Administration',
  tags: ['users'],
});

docs(RolesController, {
  classDecorators: [ApiTags('roles')],
  group: 'Administration',
  tags: ['roles'],
});

group et tags dans docs() sont optionnels. tags doit correspondre à ce que tu passes déjà à ApiTags() : nestjs-docfy n'appelle pas ApiTags à ta place, il utilise seulement ces noms pour construire le mapping x-tagGroups. Plusieurs appels à docs() peuvent contribuer au même group ; les tags sont fusionnés et dédupliqués.

Rattacher au document

main.ts
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
import { attachTagGroups } from 'nestjs-docfy';

const document = SwaggerModule.createDocument(app, new DocumentBuilder().build());
SwaggerModule.setup('api', app, attachTagGroups(document));

Appelle attachTagGroups() après SwaggerModule.createDocument() et avant SwaggerModule.setup(). Si aucun contrôleur n'a enregistré de group, la fonction ne fait rien et renvoie le document inchangé. Redoc lit x-tagGroups nativement et affiche la sidebar groupée. Détails dans Groupes de tags.