CRUD REST API Lengkap
Penjelasan
REST API CRUD lengkap di NestJS memisahkan tanggung jawab dengan jelas: Controller menerima request dan memanggil Service, Service berisi logika bisnis dan memanggil Repository, DTO menjaga type-safety data yang masuk — pola berlapis ini yang bikin project NestJS besar tetap terorganisir dibanding Express yang lebih bebas.
Contoh Konsep
// produk.controller.ts
import { Controller, Get, Post, Put, Delete, Param, Body, ParseIntPipe } from '@nestjs/common';
@Controller('produk')
export class ProdukController {
constructor(private produkService: ProdukService) {}
@Get()
findAll() {
return this.produkService.findAll();
}
@Post()
create(@Body() dto: CreateProdukDto) {
return this.produkService.create(dto);
}
@Put(':id')
update(@Param('id', ParseIntPipe) id: number, @Body() dto: CreateProdukDto) {
return this.produkService.update(id, dto);
}
@Delete(':id')
remove(@Param('id', ParseIntPipe) id: number) {
return this.produkService.remove(id);
}
}
Praktikum
Lengkapi ArtikelController dengan 4 method: findAll() (GET), create(@Body() dto) (POST), update(@Param('id', ParseIntPipe) id, @Body() dto) (PUT), remove(@Param('id', ParseIntPipe) id) (DELETE), semuanya delegasikan ke ArtikelService.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
nest generate resource nama-fitur bisa men-generate SEKALIGUS Controller, Service, Module, dan DTO CRUD lengkap dari satu perintah — sangat menghemat waktu boilerplate dibanding menulis satu-satu manual seperti dicontohkan di atas.