PracticU

WebAPI Routing

בלי כתוביותעם כתוביות
PracticU › קורס אנגולר 4 עם Angular - WebAPI › WebAPI Routing
מילון מושגים:
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
קונטרולר - רכיב שמתווך בין הממשק לבין הלוגיקה והנתונים, מקבל בקשות ומחליט כיצד לטפל בהן (למשל בדפוס MVC).
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
תבנית - מבנה בסיסי מוכן שממנו יוצרים פריטים דומים, כמו תבנית עמוד או תבנית מסמך.
REST - סגנון לבניית ממשקי API מעל HTTP, המבוסס על משאבים ועל שיטות סטנדרטיות כמו GET ו-POST.

WebAPI Routing
ההרצאה עוסקת בניתוב (Routing) ב-Web API, בהבדל בינו לבין הניתוב של MVC, ובהוספת שמות פעולות לכתובת.
ניתוב ברירת מחדל
1. קובץ הגדרה: הניתוב של Web API מוגדר בקובץ נפרד מזה של MVC. בהרצאה מסירים את הקידומת api מהכתובת, כדי שלא תבלבל.
2. כתובת בסיסית: שם הקונטרולר, למשל products, ואחריו מזהה אופציונלי. הפנייה נעשית לפי סוג הבקשה, GET או POST.
3. הבעיה: ב-Web API אין בכתובת שם של פעולה, ולכן פונקציה נוספת לא תיפתח בכתובת הרגילה.
הוספת פעולה
1. חלק {action}: מוסיפים לתבנית הניתוב את החלק action, כדי לציין את שם הפעולה בכתובת, בדומה ל-MVC.
2. דוגמה: פונקציה בשם get discount product נפתחת כשכותבים את שמה בכתובת אחרי שם הקונטרולר.
3. פעולת ברירת מחדל: אם לא צוין שם פעולה, הניתוב מפנה לפונקציה get product. בהרצאה מודגש שזה אינו תקן REST, אבל נוח יותר בעבודה.
המתנה בלקוח
כשפונים לפעולה שנעצרה בנקודת עצירה בשרת, הדפדפן ממתין לתשובה, עד שהשרת משחרר את הבקשה או עד שחלף זמן ההמתנה.
סיכום
בסיום ההרצאה ניתן להפוך את Web API לקרוב ל-MVC מבחינת שמות הפעולות, ולבחור בכתובת איזו פונקציה תיקרא.
השיעור הבא בקורס: Property Binding

פרקי ההרצאה: WebAPI Routing

  1. 00:00

    ניתוב ב-Web API לעומת MVC

  2. 00:47

    הסרת api מהנתיב והרצת הפרויקט

  3. 02:03

    הוספת מתודה משלי לקונטרולר

  4. 02:39

    למה הנתיב החדש לא עובד

תמלול ההרצאה: WebAPI Routing

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

  1. 00:05

    שלום לכולם, בהרצאה הזאת אנחנו נלמד על ראוטינג ב-Web API. מה זה אומר ראוטינג? איך לכתוב נתיבים ואיך בדיוק עובד הסלאשים האלו ואיך הוא יודע לאן להגיע.

  2. 00:19

    ויש פה נושא שכל הזמן עולה וכל הזמן יש איתו בעיות וזאת ההשוואה ל-MVC. ושימו לב, ב-MVC הניתוב נראה ככה וב-Web API הניתוב נראה ככה. אתם רואים זה שני קבצים שונים ששניהם נמצאים באפ סטארט שתיהם אחראים על ניתוב אחד של Web API ואחד אחראי על MVC אז אנחנו רואים שקודם כל ב-Web API נהוג לכתוב API Slash

  3. 00:55

    אנחנו יכולים להוריד את זה כדי שזה לא יבלבל אותנו הנה הורדתי ועכשיו אני יכול להריץ את ה-Solution שלי ואני פונה ל-Controller Products שימו לב בלי Slash API פשוט לשם של הקונטרולר ומקבל נתונים אם אני שם של הקונטרולר ו/id שה-id הזה הוא

  4. 01:17

    optional עכשיו תראו מה חסר פה בניגוד למה שיש ב-MVC חסר פה אקשן מה זה האקשן הזה האקשן הזה זה שם של מתודה שם של פונקציה שמופעלת זאת אומרת שאם אני רוצה ב-Web API להוסיף פונקציה משלי ובואו נעשה את זה שתהיה לנו בעיה אנחנו בקונטרולר שנקרא product שירש את הכל מקונטרולר api קונטרולר הבסיסי

  5. 02:09

    ונניח אני רוצה להוסיף פה עוד פונקציה עוד מתודה ונקרא לה get product get discount product אני רוצה עוד פונקציה עכשיו השם הזה של פונקציה זה בדיוק מה שנקרא בעולם של mvc לאקשן בעולם של mvc כותבים שם של קונטרולר ושם של אקשן ואם יש לנו פרמטר אז פרמטר ב-Web API אנחנו כותבים רק קונטרולר וישר ID אין לנו את

  6. 02:41

    האקשן ולכן אם אנחנו נעשה פה דבר כזה זה לא יעבוד לנו זה פשוט לא יעבוד למה זה לא יעבוד אנחנו יכולים לראות פה שאם נשים פה breakpoint ונריץ את זה בואו נכתוב קודם כל לראות שהפרודקטס כן עובד, איך קראנו לזה?

  7. 03:03

    כן, פרודקטס, אוקיי.

לקורס המלא: קורס אנגולר 4 אונליין עם WebAPI

ההרצאה הקודמת: הסבר על WebAPI

ההרצאה הבאה: Property Binding

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

  • ניתוב בריאקט - React Routing
  • Swarm - Layer 7 Routing - HTTP Host Header

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

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