Tag groups + Redoc
Registra i gruppi tramite docs({ group, tags }) e collega l'estensione x-tagGroups al documento prima di servirlo.
Registrare i gruppi
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 e tags in docs() sono opzionali. tags dovrebbe corrispondere a quanto già passi a ApiTags(): nestjs-docfy non chiama ApiTags per te, usa solo quei nomi per costruire la mappatura x-tagGroups. Più chiamate a docs() possono contribuire allo stesso group; i tag vengono uniti e deduplicati.
Collegarli al documento
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));Chiama attachTagGroups() dopo SwaggerModule.createDocument() e prima di SwaggerModule.setup(). Se nessun controller ha registrato un group, la funzione non fa nulla e restituisce il documento invariato. Redoc legge x-tagGroups nativamente e renderizza la sidebar raggruppata. Dettagli in Tag groups.