# Swagger से API Documentation — NestJS: Scalable Node.js APIs बनाना

Source: https://www.geekswithgeeks.com/hi/nestjs/nestjs-swagger

> @nestjs/swagger, decorators और Nest CLI plugin से NestJS API के लिए interactive OpenAPI docs बनाएँ।

## Swagger सेट करें

`@nestjs/swagger` आपके controllers और DTOs से OpenAPI document बनाता है और interactive UI परोसता है।

```typescript
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const config = new DocumentBuilder()
    .setTitle('Users API')
    .setVersion('1.0')
    .addBearerAuth()
    .build();
  SwaggerModule.setup('docs', app, SwaggerModule.createDocument(app, config));
  await app.listen(3000);
}
```

Decorators से DTO properties और operations का वर्णन करें।

```typescript
export class CreateUserDto {
  @ApiProperty({ example: 'ada@example.com' })
  @IsEmail()
  email: string;
}

@ApiTags('users')
@Controller('users')
export class UsersController {
  @Post()
  @ApiCreatedResponse({ description: 'User created' })
  create(@Body() dto: CreateUserDto) {}
}
```

अधिकांश DTO metadata अपने-आप पाने के लिए Nest CLI Swagger plugin चालू करें, और docs UI केवल non-production environments में दिखाएँ।
