SMALL
1. @ApiPearerAuth()
- 용도: JWT나 Bearer 토큰 인증을 사용하는 API를 문서화
- 사용 시점: 컨트롤러 클래스 또는 메소드 레벨
// main.ts에서 글로벌 설정
const config = new DocumentBuilder()
.setTitle('API 문서')
.addBearerAuth() // Bearer 인증 활성화
.build();
// 컨트롤러에서 사용
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Controller('users')
export class UsersController {
@Get('profile')
@ApiBearerAuth('JWT-auth') // 특정 보안 스키마 지정
getProfile(@Request() req) {
return req.user;
}
}
2. ApiBasicAuth()
- 목적: Basic 인증(username/password)을 사용하는 API를 문서화
// main.ts 설정
const config = new DocumentBuilder()
.addBasicAuth()
.build();
// 컨트롤러에서 사용
@ApiBasicAuth()
@UseGuards(BasicAuthGuard)
@Controller('admin')
export class AdminController {
@Get()
getAdminDashboard() {}
}
3. @ApiCookieAuth()
- 용도: 쿠키 기반 인증을 사용하는 API를 문서화
// main.ts 설정
const config = new DocumentBuilder()
.addCookieAuth('session-id') // 쿠키 이름 지정
.build();
@ApiCookieAuth()
@Controller('session')
export class SessionController {
@Get('data')
getSessionData() {}
}
4. @ApiSecurity()
- 용도: 커스텀 보안 스키마를 정의할 때 사용
// main.ts 설정
const config = new DocumentBuilder()
.addSecurity('api_key', {
type: 'apiKey',
in: 'header',
name: 'X-API-KEY'
})
.build();
@ApiSecurity('api_key')
@Controller('api')
export class ApiController {}
LIST
'develop > Nest.js' 카테고리의 다른 글
[Nest.js] swagger 데코레이터 - 5 (타입 헬퍼) (0) | 2024.12.29 |
---|---|
[Nest.js] swagger 데코레이터 - 4 (DTO/모델) (0) | 2024.12.29 |
[Nest.js] swagger 데코레이터 - 2 (응답 데코레이터) (0) | 2024.12.29 |
[Nest.js] swagger 데코레이터 - 1 (0) | 2024.12.29 |