목록NEST (5)
개발스토리
Nest 공식 문서를 바탕으로 정리한 게시글입니다. Nest에는 애플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 예외 레이어가 내장되어 있다. 코드에서 예외를 처리하지 않으면 이 레이어에서 예외를 포착하여 적절한 응답을 자동으로 보낸다. 기본적으로 이 작업은 HttpException 유형의 예외를 처리하는 내장 전역 예외필터에 의해 수행된다. 예외가 인식되지 않는다면 내장된 예외필터가 다음과 같은 기본 JSON 응답을 생성한다. { "statusCode": 500, "message": "Internal server error" } Throwing standard exceptions Nest는 @nestjs/common 패키지에 내장 HttpException 클래스를 제공한다. 특정 오류 조건이 ..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 컨트롤러는 들어오는 request를 처리한 후 response를 클라이언트에 반환한다. 라우팅 메커니즘으로 어떤 컨트롤러가 어떤 request를 수신하는 지 제어한다. 컨트롤러에 둘 이상의 라우트가 있을 수 있고 다른 작업을 수행할 수 있다. 기본 컨트롤러를 만들기 위해서는 클래스와 데코레이터를 사용한다. 데코레이터는 클래스를 필수 메타데이터와 연결한 후 Nest가 라우팅 맵을 만들 수 있도록 한다. Routing 코드를 통해 이해해보자. // cats.controller.ts import { Controller, Get } from '@nestjs/common'; @Controller('cats') export class CatsController {..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 애플리케이션 부트스트랩 프로세스에 가장 큰 영향을 끼치는 것이 바로 Typescript 컴파일이다. Express 프레임워크로 개발했던 사람이라면 nodemon이 무엇인지 알텐데, 코드의 변경 사항이 생기면 자동으로 노드 애플리케이션을 재시작해주는 모듈이다. Nest에서는 webpack HRM(Hot-Module Replacement)을 사용하면 변경 사항이 발생할 때마다 전체 프로젝트를 다시 컴파일 할 필요가 없다. 이렇게 하면, 애플리케이션을 인스턴스화하는데 필요한 시간이 크게 줄어들고 반복 개발이 훨씬 쉬어진다. Installation 먼저, 필요한 패키지를 설치하자. $ npm i --save-dev webpack-node-externals ru..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 디렉토리 구조 app.controller.ts 하나의 라우트가 있는 기본 컨트롤러 app.controller.spec.ts 컨트롤러를 위한 유닛 테스트 app.module.ts 애플리케이션의 루트 모듈 app.service.ts 단일 메소드를 사용하는 기본 서비스 main.ts 핵심기능 NestFactory를 사용하여 Nest 애플리케이션 인스턴스를 생성하는 애플리케이션의 엔트리 파일 // main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFact..