1. Middleware HTTP 요청을 처리하는 과정 중간에 실행되는 기능 요청과 응답 객체에 접근하여 요청을 변형하거나 처리하기 전에 특정한 동작을 수행할 수 있다. 인증, 로깅 등을 처리할 수 있다. 요청과 응답 객체를 변경할 수 있다. 요청의 validation을 체크하여 오류 처리를 할 수 있다. 2. 사용법 @injectable 데코레이터를 사용 인터페이스를 implements해서 사용한다. class 내부에 configure를 사용하여 선언. 이때 NestModule 인터페이스를 implements한다. logger.middleware.ts import { Injectable, NestMiddleware } from '@nestjs/common'; import { Request, Respon..
1. Provider 클래스, 팩토리, 값 등을 등록하여 Nest.js 애플리케이션 내에서 의존성 주입을 통해 사용할 수 있게 해준다. 1. service - 비즈니스 로직을 처리하기 위한 서비스 클래스를 정의할 때 사용. DI를 통해 Cotroller나 다른 서비스에서 사용 된다. import { Injectable } from '@nestjs/common'; import { Cat } from './interfaces/cat.interface'; @Injectable() export class CatsService { private readonly cats: Cat[] = []; create(cat: Cat) { this.cats.push(cat); } findAll(): Cat[] { return ..
1. Controller Routing(라우팅) import { Controller, Get } from '@nestjs/common'; @Controller('cats') export class CatsController { @Get() findAll(): string { return 'This action returns all cats'; } } 데코레이터 부분에 'cats'가 path 역할을 하여 /cats 이렇게 들어가게 된다. @Controller() 이렇게 아무것도 없을 경우 root path가 된다. Request Method import { Controller, Get, Req } from '@nestjs/common'; import { Request } from 'express'; @Co..
1. nest.js 모듈이란? ==> Nest.js에서 모듈은 애플리케이션을 구성하는 핵심 요소 중 하나. 모듈은 관련된 기능을 그룹화하고 재사용 가능한 코드를 캡슐화하는 데 사용. Nest.js는 모듈을 사용하여 애플리케이션을 컴파일하고 실행하며, 의존성 주입(Dependency Injection)을 통해 모듈 간의 상호작용을 관리한다. 기능의 분리: 애플리케이션을 작은 기능 단위로 분리하여 관리. 의존성 관리: 모듈은 자체적으로 필요한 의존성을 가질 수 있다. 다른 모듈에서 해당 모듈을 가져와 사용할 때, 의존성 주입을 통해 필요한 의존성을 제공받을 수 있다. 재사용성: 모듈은 다른 애플리케이션에서도 재사용될 수 있다. 이는 코드를 모듈로 캡슐화함으로써 발생. 따라서 비슷한 기능을 가진 다른 프로젝트..