La documentación automática que genera NestJS y Swagger es muy fácil de implementar y otorga una buena base. La documentación de tu aplicación puede ser aún más completa y detallada, si así lo quieres con algo de trabajo de tu parte.
Cómo hacer la documentación personalizada
Veamos varios decoradores que te servirán para ampliar la documentación de tu API.
Descripción de las propiedades
En tus DTO, puedes dar detalle sobre qué se espera recibir en cada propiedad de tus endpoints gracias al decorador @ApiProperty()
Puedes agrupar los endpoints en la documentación por controlador con el decorador @ApiTags() y describir, endpoint por endpoint, la funcionalidad de cada uno con el decorador @ApiOperation().
import { ApiTags, ApiOperation } from '@nestjs/swagger';
@ApiTags('Productos')
@Controller()
exportclass AppController {
@ApiOperation({ summary: 'Obtener lista de productos.' })
@Get('products')
getProducts() {
// ...
}
}
Para obtener un resultado en la documentación de tu API como el siguiente:
De este modo, la documentación de tu aplicación es súper profesional y está lista para ser recibida por el equipo front-end o por clientes externos que consumirán el servicio.