Menu
CoddyTech

Halo, Nest

Termasuk bagian TypeScript dan NestJS dalam perjalanan Node.js di Coddy. Pelajaran 1 dari 17.

Di Express, setiap route adalah fungsi yang kamu daftarkan secara manual. NestJS memberikan setiap bagian API class tersendiri, dan decorator memberi tahu Nest apa yang dilakukan setiap class.

@Controller('books')
export class BooksController {
    @Get()
    findAll() {
        return [{ title: 'Dune' }];
    }
}

Controller menangani permintaan untuk satu path. @Controller('books') dan @Get() adalah decorator: label yang dibaca Nest saat app dimulai. Keduanya memetakan findAll ke GET /books, lalu Nest mengirimkan nilai yang dikembalikan method sebagai JSON dengan status 200. Method tanpa decorator tidak akan pernah dipanggil.

Module mencantumkan class yang saling berkaitan. src/main.ts memanggil NestFactory.create(AppModule); AppModule mengimpor TasksModule, yang mencantumkan TasksController. Di laptop, kamu akan memulainya dengan npm run start; di sini, tombol Jalankan yang melakukannya.

challenge icon

Tantangan

Mudah
  • Tambahkan method ke TasksController yang merespons GET /tasks dengan array tasks.
  • Tekan Run dan kirim GET /tasks, lalu GET /task untuk melihat respons dari path yang tidak memiliki route.

Coba sendiri

import { Controller } from '@nestjs/common';

interface Task {
    id: number;
    title: string;
    done: boolean;
}

@Controller('tasks')
export class TasksController {
    private tasks: Task[] = [
        { id: 1, title: 'Write the README', done: true },
        { id: 2, title: 'Fix the login bug', done: false },
        { id: 3, title: 'Plan the sprint', done: false },
    ];

    // Tambahkan method di sini yang merespons GET /tasks dengan list tersebut.
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di TypeScript dan NestJS

Latihan sendiri: Playground Express