본문 바로가기
BackEnd

NestJS와 Swagger로 API 문서 생성하기

by Fathory 2023. 6. 23.
title

소개

API 문서는 개발자들이 API를 사용하는 방법을 이해하고 문제를 해결하는 데 도움을 줍니다. NestJS와 Swagger를 사용하면 간단하게 API 문서를 생성할 수 있습니다. 이 블로그 포스트에서는 NestJS와 Swagger를 사용하여 API 문서를 생성하는 방법에 대해 자세히 알아보겠습니다.

1. NestJS란 무엇인가요?

NestJS는 TypeScript로 작성된 프레임워크로, 백엔드 개발을 위한 효율적이고 확장 가능한 애플리케이션을 구축하는 데 도움을 줍니다. NestJS는 Angular의 구조와 비슷한 구조를 가지고 있어 Angular 개발자들에게 익숙한 느낌을 줍니다.

2. Swagger란 무엇인가요?

Swagger는 API 문서를 작성하고 관리하는 도구입니다. Swagger를 사용하면 API의 엔드포인트, 매개변수, 응답 형식 등을 정의할 수 있습니다. 또한 Swagger를 사용하면 API 문서를 자동으로 생성할 수 있으며, 사용자들은 Swagger UI를 통해 API를 시각적으로 탐색할 수 있습니다.

3. NestJS와 Swagger를 함께 사용하는 이유

NestJS와 Swagger를 함께 사용하면 API 문서를 쉽게 생성하고 유지 관리할 수 있습니다. NestJS는 Swagger를 통해 API의 메타데이터를 자동으로 생성하고, Swagger UI를 통해 API 문서를 시각적으로 탐색할 수 있습니다. 이를 통해 개발자들은 API를 더 쉽게 이해하고 사용할 수 있습니다.

4. NestJS 프로젝트 생성하기

NestJS 프로젝트를 생성하기 위해 다음 명령어를 실행합니다.

npx @nestjs/cli new project-name

위 명령어를 실행하면 새로운 NestJS 프로젝트가 생성됩니다. 프로젝트 이름은 'project-name'으로 변경하면 됩니다.

5. Swagger 설치하기

Swagger를 사용하기 위해 다음 명령어를 실행하여 Swagger 모듈을 설치합니다.

npm install --save @nestjs/swagger swagger-ui-express

위 명령어를 실행하면 Swagger 모듈과 Swagger UI Express 모듈이 설치됩니다.

6. Swagger 설정하기

Swagger를 사용하기 위해 main.ts 파일에 다음 코드를 추가합니다.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  const options = new DocumentBuilder()
    .setTitle('API 문서')
    .setDescription('API 문서를 위한 NestJS와 Swagger 예제')
    .setVersion('1.0')
    .build();

  const document = SwaggerModule.createDocument(app, options);
  SwaggerModule.setup('api', app, document);

  await app.listen(3000);
}
bootstrap();

위 코드는 Swagger를 설정하는 코드입니다. setTitle, setDescription, setVersion 메서드를 사용하여 API 문서의 제목, 설명, 버전을 설정할 수 있습니다. 위 코드에서는 API 문서의 제목을 'API 문서', 설명을 'API 문서를 위한 NestJS와 Swagger 예제', 버전을 '1.0'으로 설정하였습니다.

7. API 문서 확인하기

Swagger를 사용하여 생성한 API 문서를 확인하려면 브라우저에서 다음 URL로 접속합니다.

http://localhost:3000/api

위 URL로 접속하면 Swagger UI가 열리고, API 문서를 시각적으로 탐색할 수 있습니다.

8. API 문서 수정하기

API 문서를 수정하려면 main.ts 파일의 options 객체를 수정하면 됩니다. 예를 들어, API 문서의 제목을 '새로운 API 문서'로 수정하려면 다음과 같이 코드를 수정합니다.

const options = new DocumentBuilder()
  .setTitle('새로운 API 문서')
  .setDescription('API 문서를 위한 NestJS와 Swagger 예제')
  .setVersion('1.0')
  .build();

위 코드에서 setTitle 메서드의 인자를 '새로운 API 문서'로 변경하였습니다.

9. API 문서 배포하기

API 문서를 배포하려면 다음 명령어를 실행하여 프로덕션 빌드를 생성합니다.

npm run build

위 명령어를 실행하면 dist 폴더에 프로덕션 빌드가 생성됩니다. 이제 dist 폴더를 서버에 배포하면 API 문서를 사용할 수 있습니다.

10. 결론

이 블로그 포스트에서는 NestJS와 Swagger를 사용하여 API 문서를 생성하는 방법에 대해 알아보았습니다. NestJS와 Swagger를 함께 사용하면 API 문서를 쉽게 생성하고 유지 관리할 수 있으며, 개발자들은 API를 더 쉽게 이해하고 사용할 수 있습니다. NestJS와 Swagger를 사용하여 프로젝트의 API 문서를 자동으로 생성해보세요!

반응형