https://docs.nestjs.com/providers대부분의 Nest 클래스는 프로바이더임(services, repositories, factories, helpers, etc.)프로바이더의 메인 아이디어는 dependency로써 inject, 주입 될
https://docs.nestjs.com/middleware미들웨어는 라우트 핸들러 전에 호출되는 함수임request, response 객체에 접근 가능next()로 다음 미들웨어 호출 가능일반적으로 express의 미들웨어와 동일함Middleware fun
Nest에는 어플리케이션에서 처리되지 않은 모든 예외를 처리하는 빌트인 예외 계층이 있다. 예외가 프로그램 코드에서 처리되지 않으면 예외 계층에서 잡은 후, 자동으로 적절한 응답을 보내준다.이 작업은 HttpException 유형(및 하위 클래스)의 예외를 처리하는 g
파이프는 PipeTransform 인터페이스를 구현, @Injectable() 데코레이터를 사용한다.Untitled일반적인 파이프 이용 사례:transformation: 입력 데이터를 원하는 형식으로 바꿈(string to number)validation: 입력 데이터
Passport를 이용해보자 (@nestjs/passport)실행 순서id/pw, JWT, identity token 같은 걸로 유저 검증인증 상태 관리토큰(JWT)이나 세션 이용유저 정보를 Request 객체에 추가요구사항username/password를 이용한 인증
세 줄 요약?가드를 사용해서 요청 처리 여부를 결정할 수 있음유저의 권한에 따라서 다르게 결정 가능@SetMetadata()로 경로마다 다른 권한 체계 설정 가능?가드는 단일 책임라우트 핸들러의 요청 처리 여부를 결정한다.Express에서 미들웨어로 처리하던 것미들웨어
https://docs.nestjs.com/custom-decoratorsNest가 제공하는 HTTP 라우트 핸들러와 함께 사용할 수 있는 param decorators그래서 데코레이터가 뭐가 좋은디??express에서 Request 객체의 유저 프로퍼티를 가
https://docs.nestjs.com/interceptorsinterceptor는 @Injectable() 데코레이터를 사용하고, NestInterceptor 인터페이스를 구현한다.UntitledAspect Oriented Programming(AOP)를
지금까지는 constructor 기반의 DI를 이용했다.어플리케이션이 복잡해지면, DI 시스템의 다른 기능이 필요할 수 있음긍까 한번 알아보자DI(의존성 주입)은 의존성의 인스턴스화를 IoC 컨테이너(우리의 경우 NestJS 런타임 시스템)에 위임하는 inversion
어플리케이션은 다양한 환경에서 동작한다. 환경에 따라 다른 설정을 사용해야 한다.외부에서 정의된 환경 변수는 process.env를 이용하여 확인할 수 있다. 각 환경에 따라 환경 변수를 다르게 적용하여 이 문제를 해결하려 하지만, 값이 쉽게 변경되는 개발/테스트 환경