Study
← Semua Kategori

NestJS

Pengenalan NestJS

Apa itu NestJS, cara instalasi lewat Nest CLI, dan cara menjalankan project pertamamu.

Modules

Unit pengelompokan kode terkecil di NestJS lewat decorator @Module.

Controllers

Menangani HTTP request lewat class ber-decorator @Controller, method-nya ditandai @Get/@Post dst.

Providers & Services

Logika bisnis dipisah ke class Service ber-decorator @Injectable, di-inject ke Controller lewat constructor.

Route Parameters & Query: @Param, @Query

Mengambil parameter URL dan query string lewat decorator parameter method.

Request Body: @Body dan DTO

Membaca body request lewat decorator @Body, ditipekan lewat class DTO (Data Transfer Object).

DTO & Validation Pipe

Validasi otomatis DTO lewat decorator class-validator dan ValidationPipe global.

Middleware di NestJS

Kode yang berjalan sebelum request sampai ke route handler, ditandai class NestMiddleware.

Guards

Menentukan boleh/tidaknya request lanjut ke handler, biasa dipakai untuk autentikasi & otorisasi.

Pipes: Transform & Validasi

Mengubah atau memvalidasi data sebelum masuk ke handler lewat Pipe bawaan atau custom.

Interceptors

Membungkus eksekusi handler untuk transform response, logging waktu eksekusi, atau caching.

Exception Filters

Menangani error secara terpusat dan konsisten lewat class ExceptionFilter custom.

Database Integration: TypeORM Dasar

Menghubungkan NestJS ke database relasional lewat TypeORM, ORM paling umum dipakai bareng NestJS.

CRUD REST API Lengkap

Menggabungkan Controller, Service, DTO, dan Repository jadi endpoint CRUD lengkap.

Custom Decorators

Membuat decorator sendiri untuk mengekstrak data yang berulang dipakai, mis. user yang sedang login.

Config Module

Mengelola environment variable secara terstruktur lewat @nestjs/config, alternatif dotenv manual.

Dependency Injection Scope

Mengatur berapa lama sebuah Provider hidup: singleton (default), per-request, atau per-instance baru.

Testing Dasar dengan Jest

NestJS sudah dikonfigurasi Jest bawaan sejak awal project, unit test dan e2e test.

Tugas Akhir

Latihan akhir menggabungkan Module, Controller, Service, DTO, dan ValidationPipe dalam satu REST API Catatan.