NestJS開発環境の構築


基本環境の構築

  • 取付
  • $ npm i -g @nestjs/cli
    $ nest new [name]
    
    # swagger 설치
    $ npm install --save @nestjs/swagger swagger-ui-express
    # nestjs(fastify)를 사용하는 사람이라면
    $ npm install --save @nestjs/swagger swagger-fastify-swagger
  • 環境のmainをインストールします.tsファイル
  • の変更
    import { NestFactory } from '@nestjs/core';
    import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
    import { AppModule } from './app.module';
    
    async function bootstrap() {
      const app = await NestFactory.create(AppModule);
    // api 문서이름, 부가설명, 버전설정
      const config = new DocumentBuilder()
        .setTitle('User example')
        .setDescription('The user API description')
        .setVersion('1.0')
        .build();
      // 도메인/swagger로 api문서 접근 가능
      const document = SwaggerModule.createDocument(app, config);
      SwaggerModule.setup('api-doc', app, document);
    
      await app.listen(3000);
    }
    bootstrap();

    サーバーの実行

    $ npm run start:dev
  • 実行画面(localhost:3000/api-doc)
  • 装飾の追加

  • create-user.dto.ts
  • import { IsString, IsNumber } from "class-validator";
    import { ApiProperty } from "@nestjs/swagger";
    
    export class CreateUserDto {
      @ApiProperty({ description: "이름" }) // api문서에 부가설명 추가
      @IsString()
      name: string;
      @ApiProperty({ description: "나이" })
      @IsNumber()
      age: number;
    }