Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy
  • Dodaj metodę do TasksController, która odpowiada na żądanie GET /tasks tablicą tasks.
  • Naciśnij Uruchom i wyślij żądanie GET /tasks, a następnie GET /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ę.
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji TypeScript i NestJS