Hallo, Nest
Teil des Abschnitts TypeScript und NestJS der Node.js-Journey von Coddy. Lektion 1 von 17.
Bei Express ist jede Route eine Funktion, die du von Hand registrierst. NestJS gibt jedem Teil einer API eine eigene Klasse, und Decorators teilen Nest mit, was jede Klasse tut.
@Controller('books')
export class BooksController {
@Get()
findAll() {
return [{ title: 'Dune' }];
}
}Ein Controller beantwortet Anfragen für einen Pfad. @Controller('books') und @Get() sind Decorators: Kennzeichnungen, die Nest beim Start der App ausliest. Zusammen ordnen sie findAll dem Endpunkt GET /books zu, und Nest sendet den Rückgabewert der Methode als JSON mit Status 200. Eine Methode ohne Decorator wird nie aufgerufen.
Ein Modul listet die Klassen auf, die zusammengehören. src/main.ts ruft NestFactory.create(AppModule) auf; AppModule importiert TasksModule, das TasksController auflistet. Auf einem Laptop würdest du es mit npm run start starten; hier übernimmt Run das.
Aufgabe
Einfach- Füge
TasksControllereine Methode hinzu, die aufGET /tasksmit dem Arraytasksantwortet. - Drücke auf Ausführen und sende
GET /tasks, dannGET /task, um zu sehen, welche Antwort ein Pfad ohne Route liefert.
Probier es selbst
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 },
];
// Füge hier eine Methode hinzu, die auf GET /tasks mit der Liste antwortet.
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.