NestJS Logo

예전에 NestJS라는 프레임워크를 들어보고 잠깐 훑어 봤을때 굉장히 흥미로웠다. 그냥 진짜 멋있엇다. JavaScript와 데코레이터를 사용해서 DI, IoC를 가능케 하는 점은 스프링 부트를 경험했던 나에게 매력적이였다. 그래서 언젠간 공부해보고 싶은 참이였고 마침 사이드 프로젝트 진행중 GraphQL을 사용한 mock 서버가 필요했는데 NestJS 공식 문서에 GraphQL 파트가 있어 겸사겸사 공부를 하게 됐다.

최종 목표는 NestJS + GraphQL + Next.js + relay를 이용한 example 프로젝트를 만드는 것이다.

NestJS OVERVIEW 시리즈는 예제를 통해 간단한 NestJS 개념을 정리한다.

공식 문서를 정리합니다.

Table of Contents

  1. 프로젝트 세팅

    • main.ts
    • 애플리케이션 실행
  2. Controller

    • Routing
    • Request Object
    • Resources
    • Route wildcards
    • Status code
    • Headers
    • Redirection
    • Route parameters
    • Sub-Domain Routing
    • Scopes
    • Asynchronicity
    • Request payloads
    • Handling errors
  3. Provider

    • Services
    • Scopes
    • Custom providers
    • Optional providers
    • Property-based injection
    • Provider registration
  4. Modules

    • Feature modules
    • Shared modules
    • Module re-exporting
    • Dependency injection
    • Global modules
    • Dynamic modules
  5. Middleware

    • Dependency injection
    • Applying middleware
    • Route wildcards
    • Middleware consumer
    • Excluding routes
    • Functional middleware
    • Multiple middleware
    • Global middleware
  6. Exception filters

    • Throwing standard exceptions
    • Custom exceptions
    • Built-in HTTP exceptions
    • Exception filters
    • Arguments host
    • Binding filters
    • Catch everything
    • Inheritance
  7. Pipes

    • Built-in pipes
    • Binding pipes
    • Custom pipes
    • Schema based validation
    • Object schema validation
    • Binding validation pipes
    • Class validator
    • Global scoped pipes
    • Transformation use case
    • Providing defaults
    • The built-in ValidationPipe
  8. Guards

    • Authorization guard
    • Execution context
    • Role-based authentication
    • Binding guards
    • Setting roles per handler
    • Putting it all together
  9. Interceptors

    • Basics
    • Execution context
    • Call Handler
    • Aspect interception
    • Binding interceptors
    • Response mapping
    • Exception mapping
    • Stream overriding
    • More operators
  10. Custom route decorators

    • Param decorators
    • Passing data
    • Working with pipes
    • Decorator composition
Next NestJS OVERVIEW(1) - 프로젝트 세팅
Intro NestJS OVERVIEW(0) - Intro