NestJS

    [NestJS] 03 - 컨트롤러

    Nest의 컨트롤러는 MVC 패턴에서의 컨트롤러이다. 즉, 들어오는 요청(request)를 받고 그 처리결과를 응답(response)로 돌려주는 인터페이스 역할을 한다. 컨트롤러는 라우팅 메커니즘을 통해 컨트롤러가 받는 요청을 분류한다. 이전 글에서 서버를 구동시키고 동작하는법은 익혔다. 그렇다면 소스코드를 한번 살펴보자 // app.controller.ts import { Controller, Get } from '@nestjs/common'; import { AppService } from './app.service'; @Controller() export class AppController { constructor(private readonly appService: AppService) {} @Ge..

    [NestJs] 2- 데코레이터

    NestJs 는 데코레이터를 적극 활용한다. 데코레이터를 잘 활용하면 횡단관심사를 분리하여 관점 지향 프로그래밍을 적용한 코드를 작성 할 수 있다. 예시를 한번 보자. 상당히 스프링처럼 생겼다.. (필자는 스프링을 다룰 줄 모른다) class CreateUserDto { @IsEmail() @MaxLength(60) readonly email: string; @IsString() @Matches(/^[A-Za-z\d!@#$%^&*()]{8,30}$/) readonly password: string; } 당황스럽지만 차근차근 봐보자. 위 코드는 사용자가 요청을 제대로 보냈는지 검사하는 코드이다. email은 IsEmail()을 통해 이메일 형식을 정의하고 있고, 최대 길이를 60자로 정의하고 있다. (Ma..

    [NestJs] 01 - NestJS 설치

    본 게시물 시리즈는 https://wikidocs.net/147787 1.1 NestJS 소개 NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작합니다. 기본으로 설치하면 Express를 사용합니다… wikidocs.net 위키독스 (NestJS로 배우는 백엔드 프로그래밍) 책을 학습하며 정리한 글입니다! NestJs는 Express와 같은 자바스크립트를 기반으로 백엔드를 작업할 수 있는 웹 개발 프레임워크이다. NodeJs는 손쉽고 뛰어난 확장성이 있다는 장점이 있지만 이로인해 어떠한 기능을 사용할때마다 알맞는 라이브러리를 찾는데 시간을 할애해야 하는 단점이 있다. NestJS는 ORM,설정 등등 많은 기능을 기본으로 탑재하고 ..