[NestJS] Pipes
2024. 12. 2. 16:55
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes 📌 오늘 공부할 내용6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interc..
[NestJS] Exception
2024. 11. 28. 22:00
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interceptor 8.3 G..
[NestJS] Middleware
2024. 11. 21. 17:14
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 📌 오늘 공부할 내용 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interc..
[NestJS] Provider, Module
2024. 11. 20. 15:14
NestJS
🐣Provider의 개념Provider는 NestJS에서 주입 가능한(Injectable) 객체를 말한다.간단히 말해, 특정 값을 반환하거나 기능을 제공하는 객체이다.🐥ex) 서비스 클래스, 팩토리 함수, 또는 값 자체 장점의존성 관리비즈니스 로직 캡슐화유연성 제공 사용법Provider는 NestJS의 Module에서 등록된다. 등록된 Provider는 NestJS의 DI 컨테이너에 의해 관리된다. import { Injectable } from '@nestjs/common';@Injectable()export class AppService { getHello(): string { return 'Hello World!'; }} AppService 클래스는 Provider로 동작하며, @..
[NestJS] Controller
2024. 11. 20. 11:57
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)📌 오늘 공부할 내용7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interce..
[Express] 라우터 분리, 모듈화
2024. 11. 14. 21:20
NestJS
라우트 가 많아지면 관리가 힘들다.express.Router()를 사용하면 여러 라우트를 독립적인 모듈로 작성하여 파일 단위로 관리할 수 있다.이를 통해 코드의 재사용성과 가독성이 향상된다. Router와 app의 차이점🐥app 객체Express 애플리케이션 전체를 나타낸다. 서버를 생성하고 설정하는 데 사용되며, app.use() 메소드를 통해 미들웨어나 라우트를 등록한다.🐥Router 객체독립적인 라우트 모듈을 생성한다. 이 객체를 사용해 특정 라우트 그룹을 만들고, 최종적으로 app.use()로 Express 애플리케이션에 등록한다. Router 사용 방식Router 객체를 사용하면 라우트를 모듈화할 수 있다.이를 통해 관련된 라우트들을 하나의 파일에 모아 두고, 나중에 app.use..
[Express] CRUD 기능 만들기
2024. 11. 14. 15:46
NestJS
이번 포스팅에서는 Express로 CRUD(Create, Read, Update, Delete) 기능을 구현하는 기본적인 흐름을 살펴보겠다.실제로 DB와 연결하지는 않았고, Express의 CRUD 처리 과정과 코드 흐름을 이해하는 데 집중했다. 🐱READ - 데이터 조회전체 데이터 조회전체 고양이 데이터를 조회하는 엔드포인트다.데이터베이스에서 데이터를 가져오는 것처럼 가정하고 Cat이라는 객체에서 데이터를 불러온다.만약 데이터 조회 중 에러가 발생하면 에러 메시지를 반환한다.import { error } from "console";import * as express from "express";import { Cat, CatType } from "./app.model";const app: expr..
[Express] 라우팅과 미들웨어
2024. 11. 14. 10:31
NestJS
NestJS에 관한 강의를 듣다 보니 라우터와 미들웨어라는 용어가 자주 등장했다.하지만 이런 개념을 처음 배우다 보니 다소 추상적으로 느껴져서 쉽게 와닿지 않는 부분이 있었다.그래서 두 개념의 차이점을 조금 더 명확하게 이해하기 위해 추가로 찾아보게 되었다. 라우팅라우팅은 특정 엔드포인트(URI + HTTP 메소드(GET,POST,,,) )에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 정의해두는 것을 말한다. 예를 들어 " '/user' 구조의 URI가 get 메소드로 올 대는 user.html을 보내주자!" 와 같은 규칙들을 미리 짜놔야 한다.Express에는 이를 간단하게 처리해주는 함수가 존재한다. 구조는 다음과 같다. app.METHOD(PATH,HANDLER);- app은 expre..
TypeScript와 Express로 Node.js 서버 구축하기
2024. 11. 13. 14:44
NestJS
타입 스크립트는 JS의 확장 언어다.타입스크립트로 작성한 코드를 JS로 컴파일하여 컴파일 된 JS 코드가 Node.js(JS의 런타임 환경)에서 실행되면서 프로그램이 움직인다. package.json 설정package.json에 다음과 같은 스크립트를 추가했다.{ "scripts": { "build": "tsc", -> npm run build 시 실행 tsc -> (루트 경로에서 tsconfig.json을 읽어서 옵션에 맞게 컴파일해라) "start:dev": "tsc-watch --onSuccess \"node dist/app.js\"", -> npm run start:dev 실행 시 해당 명령어 실행 tsc로 계속 컴파일을 했을 때 성공했다면 다음 명령어 실행 node 로 dist 폴..