Grupy tagów + Redoc

Zarejestruj grupy przez docs({ group, tags }) i dołącz rozszerzenie x-tagGroups do dokumentu przed serwowaniem.

Rejestrowanie grup

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 i tags w docs() są opcjonalne. tags powinno zgadzać się z tym, co już przekazujesz do ApiTags(): nestjs-docfy nie wywołuje za Ciebie ApiTags, tylko używa tych nazw do zbudowania mapowania x-tagGroups. Wiele wywołań docs() może wnosić wkład do tej samej group; tagi są scalane i deduplikowane.

Dołączanie do dokumentu

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));

Wywołaj attachTagGroups() po SwaggerModule.createDocument(), a przed SwaggerModule.setup(). Jeśli żaden kontroler nie zarejestrował group, funkcja nic nie robi i zwraca dokument bez zmian. Redoc odczytuje x-tagGroups natywnie i renderuje pogrupowany panel boczny. Szczegóły w Tag groups.