본문 바로가기
개발 프레임워크/NestJS

[NestJS] OpenAPI 데코레이터 종류

by minhyeok.lee 2023. 2. 7.
반응형

OpenAPI 데코레이터 종류 모음

사용 가능한 모든 OpenAPI 데코레이터는 핵심 데코레이터와 구별하기 위해 Api 접두사가 있다.

 

import { IsString } from 'class-validator'
import { ApiProperty } from '@nestjs/swagger'

...

@IsString()
@ApiProperty()
name: string;

...

@IsString() =  문자열(string)인지 판별하는 유효성 검사 데코레이터 (validation)로 class-validator에서 가져와서 사용할 수 있다. 

@ApiProperty() = 데코레이터는 nestjs/swagger에 자체 내장되어있는 데코레이터이고 type 인자로 해당 데코레이터로 데코레이팅 된 클래스를 넘겨주면 해당 정보를 swagger에 표시한다.

 

 

아래는 데코레이터가 적용될 수 있는 수준(Method, Controller, Model) 지정과 OpenAPI 데코레이터의 전체 목록이다.

 @ApiBasicAuth()  Method / Controller
 @ApiBearerAuth()  Method / Controller
 @ApiBody()  Method
 @ApiConsumes()  Method / Controller
 @ApiCookieAuth()  Method / Controller
 @ApiExcludeController()  Controller
 @ApiExcludeEndpoint()  Method
 @ApiExtension()  Method
 @ApiExtraModels()  Method / Controller
 @ApiHeader()  Method / Controller
 @ApiHideProperty()  Model
 @ApiOAuth2()  Method / Controller
 @ApiOperation()  Method
 @ApiParam()  Method
 @ApiProduces()  Method / Controller
 @ApiProperty()  Model
 @ApiPropertyOptional()  Model
 @ApiQuery()  Method
 @ApiResponse()  Method / Controller
 @ApiSecurity()  Method / Controller
 @ApiTags()  Method / Controller
반응형

댓글