본문 바로가기

Research/Nest.js32

nestjs_DTO 만들고 붙이기 DTO이 필요한 부분 회원가입을 할 때 유저가 email, name, password를 입력한다고 가정하자. 프론트에서 백엔드의 signUp POST API로 보낸 Body 값의 예시를 표현하면 아래와 같다. 그런데 이 데이터 양식이 적절한지를 통제하기 위해 DTO를 사용하면 좋다. { "email" : "john@email.com", "name" : "John", "password" : "1234" } DTO 생성 cats 모듈 디렉토리 내 dto 폴더를 만들어서 request dto를 생성해주었다. // src/cats/dto/cats.requrest.dto.ts import { IsEmail, IsNotEmpty, IsString } from 'class-validator'; export class.. 2023. 4. 5.
nestjs_mongoose 스키마 설계 후 class-validator 적용 스키마 생성 // cats 폴더 내 cats.schema.ts import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document, SchemaOptions } from 'mongoose'; const options: SchemaOptions = { timestamps: true, }; @Schema(options) export class Cat extends Document { @Prop({ required: true, unique: true, }) email: string; @Prop() catname: string; @Prop() password: string; @Prop() imgUrl: string; } // Cat .. 2023. 4. 5.
nestjs_배포 환경에 따른 mongoDB 로깅 설정 // app.module.ts ... import * as mongoose from 'mongoose'; // app.module.ts @Module({ imports: [ CatsModule, // 환경변수를 위한 모듈 ConfigModule.forRoot(), // mongoose 사용을 위한 모듈 MongooseModule.forRoot(process.env.MONGODB_URI, { useNewUrlParser: true, //mongodb url 읽기 위한 설정 useUnifiedTopology: true, // mongodb 최신 드라이버 엔진 사용을 위한 설정 }), ], controllers: [AppController], providers: [AppService, CatsService],.. 2023. 4. 5.
nestjs_환경변수 설정 +mongodb 연동 nestjs에서 mongoDB를 사용하는 방법은 2가지인데, TypeORM 모듈을 사용하거나 Mongoose ODM을 사용하는 것이다. 우리는 mongoose 를 사용하는 방식으로 nestjs 프로젝트를 DB에 연동해보자. mongoose 모듈 설치 // @nestjs/mongoose 설치 $ npm i @nestjs/mongoose mongoose 환경변수 config 모듈 설치 npm i --save @nestjs/config https://docs.nestjs.com/techniques/configuration 환경변수 설정을 하기 위해서 @nestjs/config를 설치하면 된다. 환경변수 .env 파일 생성 MONGODB_URI="" PORT=8000 로컬 디렉토리에 .env 파일 생성해준다. .. 2023. 4. 5.