Parameter Rute
Termasuk bagian TypeScript dan NestJS dalam perjalanan Node.js di Coddy. Pelajaran 2 dari 17.
Client sering kali membutuhkan satu tugas, bukan seluruh list. Path dapat memuat parameter: bagian yang berubah dari satu permintaan ke permintaan berikutnya.
@Get(':isbn')
findOne(@Param('isbn') isbn: string) {
return this.books.find((book) => book.isbn === isbn);
}:isbn cocok dengan nilai apa pun di bagian path tersebut, jadi GET /books/978 akan mengarah ke method ini. @Param('isbn') meneruskan nilai itu ke method. Nilainya selalu berupa teks: /books/42 memberikan string '42', bukan angka 42.
Jika nama parameter dihilangkan, @Param() memberikan object yang berisi semua parameter, { isbn: '978' }, bukan nilainya saja.
Tantangan
Mudah- Tambahkan
GET /tasks/:id: endpoint ini mengembalikan tugas dengan id tersebut. - Kirim
GET /tasks/2, laluGET /tasks/99dan lihat respons untuk id yang tidak memiliki tugas.
Coba sendiri
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;
}
}
Semua pelajaran di TypeScript dan NestJS
Latihan sendiri: Playground Express