PracticU

מחיקת מוצר - קורס NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › מחיקת מוצר - קורס NodeJS
מילון מושגים:
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
ראוט - הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה. גם מסלול שדרכו עוברות חבילות ברשת.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
Postman - כלי לבדיקת API: שליחת בקשות HTTP לשרת ובחינת התגובות, נפוץ בפיתוח ובבדיקות.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.

מחיקת מוצר - קורס NodeJS
השיעור האחרון במסלול הראוטים מוסיף מחיקה של מוצר. כך מושלמים שישה הראוטים הבסיסיים של המוצרים.
הצעדים
1. איתור האינדקס: findIndex מחזירה את מיקום המוצר במערך לפי ה-ID. אם המוצר לא נמצא, התוצאה היא מינוס אחד.
2. מחיקה: splice מוחק את האיבר שבאינדקס שנמצא, ורק אם האינדקס גדול או שווה לאפס, כלומר המוצר קיים.
3. שמירה: הקובץ נשמר מחדש בלי המוצר שנמחק.
4. ראוט DELETE: ה-ID נלקח מהנתיב, הלוגיקה נקראת, והשרת מחזיר sendStatus(204) בלי תוכן, לפי המוסכמה.
5. בדיקה: ב-Postman שולחים DELETE, ואז GET לאותו מוצר. המוצר כבר לא מוחזר.
שימו לב
- גם כאן ה-ID צריך להיות מומר למספר לפני ההשוואה, אחרת המוצר לא יימצא והמחיקה לא תתבצע. בשיעור זו הייתה טעות שנתפסה רק בבדיקה.
- מחיקה של מוצר שלא קיים מחזירה 204 כמו מחיקה רגילה, בהתאם למוסכמה.
כעת כל ששת הראוטים הבסיסיים של המוצרים עובדים, והקוד מחולק לשכבות.

פרקי ההרצאה: מחיקת מוצר - קורס NodeJS

  1. 00:00

    השלמת ששת הראוטים של המוצרים

  2. 00:39

    פונקציית מחיקה לפי ID

  3. 01:55

    שמירת הקובץ אחרי המחיקה

  4. 02:34

    בניית ראוט DELETE בקונטרולר

תמלול ההרצאה: מחיקת מוצר - קורס NodeJS

הטקסט המלא של הדקות הראשונות בהרצאה «מחיקת מוצר - קורס NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:03

    וכל מה שנשאר לנו לעשות בשביל להשלים חמשת הראוץ וששת הראוץ, יש לנו שישה ראוץ סך הכל, אחד תביא לי את כל המוצרים, השני תביא לי מוצר בודד, תוסיף לי מוצר, זה שלוש, ארבע זה תעדכן לי מוצר מלא, חמש תעדכן לי מוצר חלקי, ושש זה תמחק לי מוצר.

  2. 00:24

    בשביל לעשות את זה נשארנו רק את ה-delete, ולפני שנתעסק עם הקונטרולר, בואו נבנה את הפונקציה המתאימה לתוך ה-Business Logic. אז בואו נבנה כאן async function delete product async, בדיוק כמו שהיה לנו פה, update product async, delete product async. לצורך מחיקה אנחנו לא צריכים לקבל את כל המוצר, אנחנו צריכים

  3. 00:50

    לקבל רק את ה-ID שלו. אז הנה יש לנו פה את ה-ID, אנחנו מאתרים את כל המוצרים ומאתרים את האינדקס של המוצר שאותו אנחנו רוצים למחוק, כי יש לנו פה מערך.

  4. 01:03

    מובן שזה רק בגלל שיש לנו את המוצרים כמערך. אם היה לנו דאטאבייס אז היינו צריכים לייצר איזו שאילתא שמוחקת את המוצרים מהדאטאבייס. const index = יש לנו products.findindex זאת פונקציה שלפי קוד שאנחנו נותנים לה מאתרת את האינדקס של המוצר כי במערך יש פונקציה שמוחקת לפי אינדקס אם האינדקס נמצא במילים אחרות גדול שווה אפס.

  5. 01:39

    רק אז אנחנו רוצים לגשת למערך product.splice זאת הפונקציה שמבצעת מחיקה. היא שואלת אותנו תגידו באיזה אינדקס אתם רוצים למחוק?

  6. 01:52

    הנה האינדקס שלנו. כמה פריטים אתם רוצים למחוק? פריט אחד והיא תמחק אותו מהקולקשן. אחרי שהיא מחקה מהקולקשן אנחנו רוצים לשמור את כל הקולקשן שוב לקובץ.

  7. 02:05

    הנה יש לנו את השמירה עצמה והשמירה כמובן מתבצעת רק אם האינדקס אכן נמצא. אז אנחנו עכשיו מחצינים את הפונקציה הזאת והביזנס לוג'יק תומך במצב של מחיקה מקובץ או בהמשך זה יהיה מידאטאבייס.

  8. 02:22

    שימו לב שאם ה-ID לא נמצא לפי המוסכמה אני לא עושה שום דבר, אני לא מחזיר ללקוח נעל או מחזיר לו שיש לו שגיאת 404. פשוט הכל בסדר, לא מצאת אל תמחק.

  9. 02:37

    עכשיו אנחנו רוצים לבצע את הראוט הנכון. מה שאני אעשה, אני אעתיק.

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: עדכון מוצר באופן חלקי - קורס NodeJS

ההרצאה הבאה: טיפול בחריגות - NodeJS Exceptions

הרצאות קשורות מקורסים אחרים

  • מחיקת מוצר בריאקט
  • מחיקת VPC - ב-AWS
  • תיעוד של מחיקת קובץ
  • מחיקת רשומות קיימות ב-SQL

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React