Study
NestJS

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.

Editor Latihan

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.