일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- synchronized
- factory
- lombok
- java
- builder
- 일급 컬렉션
- Dependency Injection
- OAuth 2.0
- nestjs
- spring security
- Spring
- Google OAuth
- Volatile
- middleware
- 일급 객체
- Today
- Total
목록NestJS (5)
HJW's IT Blog
Exciption FiltersNestJS 는 어플리케이션 전반에서 처리되지 않은 예외를 처리하는 예외 계층을 제공한다. 즉, 코드상에서 예외가 처리되지 않았을 경우, 해당 계층에서 예외를 감지하고 적절한 응답을 자동으로 전송한다. 기본적으로 NestJS 는 HttpException 및 그 하위 클래스에 대한 예외 처리를 제공하는 글로벌 예외 필터를 내장하고 있다. 인식되지 않은 예외가 발생할 시, statusCode : 500 과 messate: internal server error 를 반환한다.Throwing Standard ExceptionsNestJS 는 @nestjs/common 패키지에서 제공하는 HttpException 클래스를 통해 표준화된 HTTP 응답을 보낼 수 있다.다음은 Cats..
MiddleWareNestJS 에서 미들웨어는 라우트 핸들러가 호출되기 전, 실행되는 함수로, Req, Res 객체에 접근이 가능하며, next() 메서드로 다음 미들웨어에 제어를 넘길 수 있다.NestJS에서 미들웨어는 @Injectable() 이 붙은 클래스로 구현이 가능하다. 미들웨어 클래스는 NestMiddleware 를 implement 해야 한다. 아래는 간단한 미들웨어 클래스의 예시이다import { Injectable, NestMiddleware } from '@nestjs/common';import { Request, Response, NextFunction } from 'express';@Injectable()export class LoggerMiddleware implements Ne..

Module모듈은 @Module() 데코레이터로 주석이 달린 클래스이다. 해당 데코레이터는 메타데이터를 제공하여, Nest 가 어플리케이션 구조를 조작하는 데 사용할 수 있다. 각 어플리케이션에는 최소 하나의 루트 모듈이 존재한다. 루트 모듈은 NestJS 가 어플리케이션 그래프( 모듈 및 provider 관계와 의존성을 해결하는 내부 데이터 구조 )를 빌드하는데 사용되는 클래스이다. NestJS 에서 모듈은 구성요소를 효과적으로 조직하는 방법으로, 강력하게 권장된다. 즉 서로 관련된 기능 세트를 캡슐화 하는 아키텍쳐를 만들어 내는 것이다.@Module 안에 하나의 객체가 전달되고, 해당 객체 안에 모듈이 필요한 속성들이 정의되어 있다.providers : NestJS 인젝터에 의해 생성될 서비스(pro..

ProviderNestJS 에서 Provider는 의존성 주입 시스템의 핵심 개념중 하나이다. Provider 는 Nest 어플리케이션 내에서 인스턴스를 관리하고 주입하는 역할을 담당한다. Provider 는 어떤 특정한 것을 가르키기 보단, Nest 에서 Service, Repository, Factory function, value 혹은 기타 의존성을 제공할 수 있는 클래스나 값이다.즉 Provider 의 주요 개념은 의존성을 주입할 수 있다 는 것이다.이를 통해 객체들이 서로 다양한 관계를 만들 수 있으며, 이러한 객체들을 “연결” 하는 작업을 개발자는 Nest의 런타임 시스템에 맡길 수 있다.이전에 설명했던 Controller는 HTTP 요청을 처리하고 복잡한 작업은 Providers 에게 위임해..
Overview프로젝트 기본 구조src- app.controller.spec.ts- app.controller.ts- app.module.ts- app.service.ts- main.ts 프로젝트를 처음 생성하게 되면, 위와 같이 core file 들이 생성된다. 다음은 위 파일들에 대한 간단한 설명이다.app.controller.ts : 하나의 라우트를 가진 기본 controllerapp.controller.spec.ts : controller 에 대한 단위 테스트app.module.ts : application 의 루트 모듈app.service.ts : 하나의 메소드를 가진 기본 servicemain.ts : Nest Application 인스턴스를 생성하기 위한 NestFactory 를 포함한 엔트..