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.
Tantangan
Mudah- Tambahkan method ke
TasksControlleryang meresponsGET /tasksdengan arraytasks. - Tekan Run dan kirim
GET /tasks, laluGET /taskuntuk 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.
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di TypeScript dan NestJS
Latihan sendiri: Playground Express