본문 바로가기

framework

(12)
[NestJs] 디자인 패턴 적용 Nest에서 제공하는 CLI로 프로젝트를 생성하면 src 디렉토리 내부는 아래와 같이 구성되어 있다. Controller : 들어오는 요청을 처리하고 클라이언트에 응답을 반환하는 역할을 한다. Service(공급자) : 서비스, 리포지토리, 팩토리 등이 공급자로 취급되며 공급자는 종속성으로 주입할 수 있다. Module: Nest 애플리케이션 그래프를 구축하는 시작점이다. 다른 모듈과 공급자 관계 및 종속성 설정을 담당한다. main: 모듈을 인스턴스화하여 애플리케이션을 생성한다. spec: Test를 담당한다. 위의 패턴에 추가적으로 dto, repository, schema를 추가하였다. 1. 모듈 $ nest g mo cats 모듈을 먼저 생성한 후 Nest CLI 를 이용해 서비스, 컨트롤러를 생..
[NestJs] swagger 예시 npm 설치 npm i @nestjs/swagger 예시 시작 main.ts에서 swagger 모듈 설정 import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.enableCors({ origin: true, }); // swagger 모듈 설정 시작 // npm i @nestjs/swagger const config = new DocumentBu..
[NestJs] Mongoose - 스키마, Insert npm 설치 npm i @nestjs/mongoose mongoose app.module.ts에 import imports: [ MongooseModule.forRoot(MONGODB_URI), ], Validation npm i --save class-validator class-transformer Cat 스키마 생성 몽구스에서는 모든 것이 스키마에서 파생된다. 스키마는 모델을 정의하고, 모델을 통해 데이터베이스에 접근하여 스키마(테이블, 문서) 생성, 데이터 편집을 진행한다. 위에서 설치한 class-validator를 통해 컬럼을 정의한다. @Schema() 를 사용하여 클래스를 스키마 정의로 표기한다. 스키마 옵션의 timestamps를 true로 설정하면 스키마에 생성일시, 업데이터일시가 자동..
[NestJs] npm 명령어 Nest 설치 project-name으로 폴더가 새로 생성된다. $ npm i -g @nestjs/cli $ nest new project-name Schematics 생성 https://docs.nestjs.com/cli/usages $ nest g co(Controller) name $ nest g cl(class) name $ nest g f(filter) name $ nest g mi(middleware) name $ nest g mo(module) name $ nest g pi(pipe) name $ nest g s(service) name config 파일 생성(.env) $ npm i --save @nestjs/config 사용시 1. import app.module.ts에 import 필요..