Witaj, Nest
Część sekcji TypeScript i NestJS ścieżki Node.js w Coddy. Lekcja 1 z 17.
W Express każda trasa jest funkcją, którą rejestrujesz ręcznie. NestJS przypisuje każdej części API osobną klasę, a dekoratory informują Nest, do czego służy każda klasa.
@Controller('books')
export class BooksController {
@Get()
findAll() {
return [{ title: 'Dune' }];
}
}Kontroler obsługuje żądania dla jednej ścieżki. @Controller('books') i @Get() to dekoratory: etykiety odczytywane przez Nest podczas uruchamiania aplikacji. Razem mapują findAll na GET /books, a Nest wysyła wynik zwracany przez metodę jako JSON ze statusem 200. Metoda bez dekoratora nigdy nie jest wywoływana.
Moduł zawiera listę powiązanych ze sobą klas. src/main.ts wywołuje NestFactory.create(AppModule); AppModule importuje TasksModule, który zawiera na liście TasksController. Na laptopie uruchomisz go poleceniem npm run start; tutaj robi to przycisk Run.
Wyzwanie
Łatwy- Dodaj metodę do
TasksController, która odpowiada na żądanieGET /taskstablicątasks. - Naciśnij Uruchom i wyślij żądanie
GET /tasks, a następnieGET /task, aby zobaczyć, jaka jest odpowiedź dla ścieżki bez przypisanej trasy.
Spróbuj swoich sił
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 },
];
// Dodaj tutaj metodę, która w odpowiedzi na żądanie GET /tasks zwraca listę.
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.