Paramètres de route
Fait partie de la section TypeScript et NestJS du Journey Node.js de Coddy. Leçon 2 sur 17.
Un client a souvent besoin d’une seule tâche, pas de toute la liste. Un chemin peut contenir un paramètre : une partie qui change d’une requête à l’autre.
@Get(':isbn')
findOne(@Param('isbn') isbn: string) {
return this.books.find((book) => book.isbn === isbn);
}:isbn correspond à n’importe quelle valeur à cet emplacement du chemin, donc GET /books/978 atteint cette méthode. @Param('isbn') transmet cette valeur à la méthode. C’est toujours du texte : /books/42 donne la chaîne '42', jamais le nombre 42.
Si tu omets le nom, @Param() fournit l’objet contenant tous les paramètres, { isbn: '978' }, au lieu de la valeur.
Défi
Facile- Ajoutez
GET /tasks/:id: il renvoie la tâche correspondant à cet identifiant. - Envoyez
GET /tasks/2, puisGET /tasks/99et observez ce que renvoie un identifiant sans tâche.
Essayez vous-même
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;
}
}
Toutes les leçons de TypeScript et NestJS
1Les bases de Nest
Bonjour, NestParamètres de route