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.