, 7 min read
Pada tutorial kali ini Kita akan memahami Konsep penting yang wajib di ketahui di dalam Framework NestJS
Ada beberapa hal yang harus di pahami di dalam Framework NestJS disini saya akan menjelaskan konsep sederhana yang akan membantu dalam memahami NestJS seperti Module, Controller, Provider, dan juga sitem Routing di dalam NestJS.
Module adalah komponent paling penting di dalam NestJS, Module akan menampung semuanya termasuk Codingan yang kita buat. misalnya Controller, Service, Config, dan lain - lain.
Untuk membuat Module kita hanya perlu melakukan perintah dengan menggunakan Nest CLI
nest g mo NAMA_MODULE
"NAMA_MODULE" adalah nama module yang kita buat misalnya module "Pembayaran", "User", dan lain lain
Contoh module user
nest g mo user
Perintah di atas akan membuat file "user.module.ts" seperti di bawah ini
import { Module } from '@nestjs/common';
@Module({})
export class UserModule {}
Module digunakan untuk mengelompokan bagian secara terpisah dan bersifat multipurpose atau bisa gunakan untuk mengelompokan berbagai hal misalnya Entitas, Setingan, Data, dan lain - lain.
Controller adalah fungsi yang berkaitan langsung dengan HTTP yang di akses oleh User misalnya Rest API. di dalam Controller sendiri memiliki beberapa method yang di panggil oleh API misalnya POST, GET, PUT, DELETE, PATCH, dan lain - lain.
Untuk membuat controller bisa di lakukan dengan Nest CLI atau menulis code secara manual.
Membuat Controller dengan menggunakan Nest CLI
nest g co NAMA_CONTROLLER
NAMA_CONTROLLER adalah nama dari Controller yang kita buat
nest g co user
Perintah di atas akan membuat Controller "user.controller.ts"
import { Controller } from '@nestjs/common';
@Controller('user')
export class UserController {}
Service adalah konsep design pattern yang biasa di gunakan untuk membuat berbagai aplikasi misalnya Web, Desktop, Mobile. di dalam NestJS menggunakan Service Pattern secara defaultnya.
Service digunakan untuk memisahkan Logika dengan Controller misalnya service "User" akan memiliki beberapa fungsi yang berkaitan dengan "User" misalnya:
Untuk membuat Service kita bisa menggunakan Nest CLI atau menulis code secara manual. cara paling mudah yaitu dengan menggunakan Nest CLI dengan memasukan perintah lewat Terminal atau CMD
nest g service NAMA_SERVICE
"NAMA_SERVICE" adalah nama dari Service yang kita buat
nest g s user
Perintah di atas akan membuat service dengan nama "user.service.ts"
import { Injectable } from '@nestjs/common';
@Injectable()
export class UserService {}
Provider adalah array yang menampung Class - Class lain untuk melakukan proses Dependeny Injection terhadap Class lain.
Provider di gunakan untuk Dependency Injection, untuk lebih jelasny lihat contoh di bawah ini
import { Controller } from '@nestjs/common';
import { UserService } from './user.service';
@Controller('user')
export class UserController {
constructor(private service: UserService){}
}
Pada contoh di atas kita menggunakan Class Service secara langsung di dalam Contructor dari UserController, Proses itu dinamakan Dependency Injection. tanpa Provider proses seperti di atas tidak bisa dilakukan di NestJS, maka dari itu kita memerlukan Provider jika kita ingin menggunakan Depency Injection.
Tanpa Dependency Injection maka code kita akan menjadi seperti
import { Controller } from '@nestjs/common';
import { UserService } from './user.service';
@Controller('user')
export class UserController {
private service;
constructor() {
this.service = new UserService()
}
}
Kita tidak perlu membuat provider karena provider sudah tersedia di dalam Module. pada saat kita membuat Service, maka Module otomatis akan menambahkan Class Service ke dalam Provider, namun kalo kita membuat secara manual kita bisa menambahkan secara manual di dalam Module
Contoh "user.module.ts"
import { Module } from '@nestjs/common';
import { UserController } from './user.controller';
import { UserService } from './user.service';
@Module({
controllers: [UserController],
providers: [UserService]
})
export class UserModule {}
Untuk membuat class menjadi Dependency Injection seperti contoh di atas kita hanya perlu menambahkan Class ke dalam array "providers"
Komponen paling utama untuk membuat API di dalam NestJS supaya bisa di akses user adalah
dengan komponen di atas kita sudah bisa membuat API dengan menggunakan Framework Nest JS
Related Posts
Nest JS : Speed Up API with Cache Redis
Meningkatkan perfoma API dengan Cache menggunakan Redis dengan contoh menggunakan Database PostgreSQL dan Prisma
Nest JS Micoservices with GRPC and Monorepo
Kita akan belajar bagaimana membuat aplikasi microservices menggunakan Nest JS dan GRPC menggunakan Monorepo (Single Repository)
Rate limiting Nest JS
Rate limiter adalah sebuah mekanisme yang digunakan untuk mengatur laju atau frekuensi akses terhadap suatu sumber daya atau layanan. Tujuannya adalah untuk mencegah penyalahgunaan atau kelebihan beban terhadap sistem tersebut
Upload gambar pada Framwork Nest JS
Pada tutorial kali ini Kita akan belajar mengupload gambar pada Framwork Nest JS dan menseting supaya file bisa di akses menggunakan HTTP
NestJS Prisma Multi Connections
Prisma adalah Modern ORM yang memungkinakan kita membuat koneksi dan Query ke database menjadi lebih mudah dan lebih sederhana di bandingkan kalau kita tanpa menggunakan ORM.
Membuat Multi Thread atau Cluster mode pada nest JS (10x lebih cepat)
Node JS / Nest JS memiliki cara kerja Single Thread yang artinya hanya bisa menjalankan tugas satu persatu sehingga pada saat ada banyak tugas yang sedang di kerjakan harus bergantian beda dengan Multi Thread yang bisa menjalankan tugas secara bersamaan.
Membuat CRUD Rest API dengan Database MySQL Nest JS
Pada tutorial kali ini Kita akan belajar membuat CRUD Rest API dengan Database MySQL Nest JS supaya kita lebih memahami alur dari framework Nest JS
Konsep penting yang wajib di ketahui di dalam Framework NestJS
Pada tutorial kali ini Kita akan memahami Konsep penting yang wajib di ketahui di dalam Framework NestJS
Berkenalan dengan NestJS dan cara install NestJS
Pada tutorial kali ini kita akan berkenalan dengan NestJS, memahami cara kerja NestJS dan cara menginstall NestJS
Tags