פרמטרים של שאילתה
חלק מהיחידה TypeScript ו-NestJS במסלול ה-Node.js של Coddy. שיעור 5 מתוך 24.
לקוח שרוצה רק את המשימות הפתוחות לא אמור להידרש להוריד כל משימה ולסנן אותן בעצמו. מחרוזת השאילתה, החלק שאחרי ?, מכילה אפשרויות כאלה.
@Get()
findAll(@Query('author') author?: string) {
if (!author) {
return this.books;
}
return this.books.filter((book) => book.author === author);
}@Query('author') קוראת את ?author=Le%20Guin, או מחזירה undefined כשהבקשה לא כוללת אותה.
טיפוסי TypeScript מוסרים כשהקוד רץ: Node מריץ את JavaScript שנותר אחרי הסרת הטיפוסים, ושום דבר לא בודק אותם. כתוב inStock?: boolean, ו-Nest עדיין יעביר לך את המחרוזת 'false', שהיא ערך אמת. הטיפוסים מתעדים את הקוד שלך ועוזרים לעורך; השווה ערכי שאילתה כטקסט.
אתגר
קלGET /tasks?done=trueמחזיר רק את המשימות שהושלמו;GET /tasks?done=falseמחזיר רק את המשימות הפתוחות.- בלי
done,GET /tasksמחזיר את כל המשימות. - שלחו
GET /tasks?done=false, ואזGET /tasks?done=true.
נסו בעצמכם
import { Controller, Get, Param } 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;
}
@Get(':id')
findOne(@Param('id') id: string): Task | undefined {
return this.tasks.find((task) => task.id === Number(id));
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה TypeScript ו-NestJS
1יסודות Nest
מחלקות ומתודותשלום, Nestרישום בקר4משמרים, מסננים ומיירטים
משמריםתרגלו בעצמכם: Express אונליין