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.
Aufgabe
Einfach- Füge
GET /tasks/:idhinzu: Es gibt die Aufgabe mit dieser ID zurück. - Sende
GET /tasks/2und danachGET /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;
}
}