목록2024/09/04 (3)
상똥이의 Back-End 공부방
Module은 @Module() 데코레이터를 사용하는 클래스입니다. @Module() 데코레이터는 Nest가 애플리케이션 구조를 조직할 수 있도록 메타데이터를 제공합니다. 각각의 애플리케이션은 적어도 하나의 모듈(루트 모듈)을 가지고 있습니다. 루트 모듈은 애플리케이션 그래프(Nest가 모듈과 프로바이더 사이의 관계와 의존성을 해결하는데 사용하는 내부 데이터 구조)를 만드는 시작점입니다. 아주 작은 애플리케이션이 이론적으로 루트 모듈만을 가지기 때문에 이런 경우는 일반적이지 않습니다. 모듈이 컴포넌트를 구성하는데에 효과적인 방법이라고 강력히 추천하고 싶습니다. 따라서 대부분의 애플리케이션에서 결과적으로 여러 모듈을 사용하여, 각각 밀접하게 관련된 기능 집합을 캡슐화하는 아키텍처를 채택하게 됩니다. @Mo..
ProvidersProvider는 Nest의 근본적인 개념입니다. 많은 Nest의 기본 클래스는 Provider로 취급될 수 있습니다. Provider의 주 목적은 의존성 주입입니다. 이는 객체가 서로 다양한 관계를 맺을 수 있음을 의미하며 이 객체들을 "연결하는" 기능은 크게 Nest 런타임 시스템에 위임될 수 있습니다.이전 장에서 간단한 CatsController를 작성했습니다. Controller는 HTTP 요청을 처리하고 더 복잡한 작업은 Provider에 위임합니다. Provider는 module에 'providers'로 선언되는 순수 자바스크립트 클래스입니다.HINTNest는 객체 지향적인 방식으로 의존성을 설계하고 구성할 수 있는 가능성을 제공하기 때문에, SOLID 원칙을 따르는 것을 강력..
Controllers컨트롤러는 클라이언트로부터 요청을 받고 응답하는 역할을 맡고 있습니다.컨트롤러의 목적은 애플리케이션에 들어오는 특정한 요청을 받아들이는 것입니다. 라우팅 매커니즘은 어느 컨트롤러가 어느 요청을 받아들일지 제어합니다. 주로 각각의 컨트롤러는 하나 이상의 경로를 가지며 경로들은 서로 다른 역할을 수행할 수 있습니다. 기본 컨트롤러를 만들기 위해, 우리는 클래스와 데코레이터를 사용합니다. 데코레이터는 클래스에 필요한 메타데이터를 연결하고, 이를 통해 Nest는 라우팅 맵을 생성합니다. (이 라우팅 맵은 들어오는 요청을 해당하는 컨트롤러에 연결합니다.)HINT내장된 검증과 함께 CRUD를 빠르게 생성하고 싶다면, CLI의 CRUD 생성 명령어: nest g resource [name] 를 사..