npm install --save @nestjs/swagger swagger-ui-express
npm i --save @nestjs/swagger@4
const config = new DocumentBuilder()
.setTitle('C.I.C')
.setDescription('cat')
.setVersion('1.0.0')
.build();
const document: OpenAPIObject = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('docs', app, document);
//setup에 첫번째 인자는 앤드포인트를 입력해 주면된다.
//localhost:8000/docs
이렇게 문서가 있어야 협업을할때 소통이 원활하게 이루어 진다.
@ApiProperty({
example: 'asdf@nate.com',
description: 'email',
required: true,
})
email: string;
위와같이 apiProperty를 사용해서 명시 해 준다.
@ApiResponse
apiProperty가 reqeust데이터의 명시였다면 ApiResponse는 response데이터의 명시이다.
//걸고 싶은 컨트롤러 위에다가 정의해 주면 된다.
@ApiResponse({
status: 500,
description: '서버 오류..',
type: ReadOnlyCatDto,//응답dto를 만들었다.
})
이렇게 하면 postman처럼 테스트를 해 볼수 있다.
export class CatRequestDto extends PickType(Cat, [
'email',
'name',
'password',
] as const) {}