Menu
CoddyTech

Bonjour, Nest

Fait partie de la section TypeScript et NestJS du Journey Node.js de Coddy. Leçon 1 sur 17.

Dans Express, chaque route est une fonction que vous enregistrez manuellement. NestJS attribue à chaque partie d’une API sa propre classe, et les décorateurs indiquent à Nest le rôle de chaque classe.

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

Un contrôleur répond aux requêtes pour un chemin donné. @Controller('books') et @Get() sont des décorateurs : des étiquettes que Nest lit au démarrage de l’application. Ensemble, ils associent findAll à GET /books, et Nest renvoie ce que la méthode retourne au format JSON avec le statut 200. Une méthode sans décorateur n’est jamais appelée.

Un module répertorie les classes qui vont ensemble. src/main.ts appelle NestFactory.create(AppModule) ; AppModule importe TasksModule, qui répertorie TasksController. Sur un ordinateur portable, vous le lanceriez avec npm run start ; ici, le bouton Run s’en charge.

challenge icon

Défi

Facile
  • Ajoute une méthode à TasksController qui répond à GET /tasks avec le tableau tasks.
  • Clique sur Exécuter et envoie GET /tasks, puis GET /task pour voir quelle réponse fournit un chemin sans route.

Essayez vous-même

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 },
    ];

    // Ajoutez ici une méthode qui répond à GET /tasks avec la liste.
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de TypeScript et NestJS