Menu
CoddyTech

Routenparameter

Teil des Abschnitts TypeScript und NestJS der Node.js-Journey von Coddy. Lektion 2 von 17.

Ein Client benötigt oft eine einzelne Aufgabe und nicht die ganze Liste. Ein Pfad kann einen Parameter enthalten: einen Teil, der sich von Anfrage zu Anfrage ändert.

@Get(':isbn')
findOne(@Param('isbn') isbn: string) {
    return this.books.find((book) => book.isbn === isbn);
}

:isbn passt auf jeden Wert an dieser Stelle des Pfads, sodass GET /books/978 diese Methode aufruft. @Param('isbn') übergibt diesen Wert an die Methode. Er ist immer Text: /books/42 ergibt die Zeichenfolge '42', niemals die Zahl 42.

Lässt du den Namen weg, liefert @Param() das Objekt mit allen Parametern, { isbn: '978' }, statt des Werts.

challenge icon

Aufgabe

Einfach
  • Füge GET /tasks/:id hinzu: Es gibt die Aufgabe mit dieser ID zurück.
  • Sende GET /tasks/2 und danach GET /tasks/99. Sieh dir an, was bei einer ID ohne zugehörige Aufgabe zurückgegeben wird.

Probier es selbst

import { Controller, Get } 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 },
    ];

    @Get()
    findAll(): Task[] {
        return this.tasks;
    }
}

Alle Lektionen in TypeScript und NestJS