
הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על WebAPI» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הקודמת ראינו קונטרולרים של mvc וviews של mvc ובהרצאה הזאת אנחנו נדבר על Web API מה זה הקונטרולרים של Web API ומה הם שונים מ-Odata ומה זה Odata ומה זה Web API אני רק רוצה להזכיר לכם לפני שנתחיל שבקונטרולר של mvc הוא גם החזיר לנו את ה-view זאת אומרת שהשרט היה מחזיר לנו HTML. ב-Web
API אנחנו מחזירים מידע גולמי. בואו נראה את זה. ניכנס לבנות קונטרולר חדש, הפעם Web API, ונעשה אותו קונטרולר שכבר מחובר ל-Entity Framework.
אנחנו נראה את כל סוגי הקונטרולרים וגם נראה את ה-Odata בהמשך. אז אנחנו רואים את הקונטרולר שמחובר ל-Entity Framework של Web API.
הוא שואל אותי לאיזה טבלה להתחבר ובאיזה דאטה קונטקסט זה למעשה האנטיטי פריים להתחבר ואיך לקרוא לקונטרולר פרודקט קונטרולר אני אקרא לו והנה הוא יוצר לנו פרודקט קונטרולר שימו לב שהוא מחזיר לנו רק את רשימת המוצרים נטו אם נעשה קופי לזה אנחנו נראה שבהפעלה אני אקבל רק את הנתונים הגולמיים בלי html בלי גרפיקה אתם רואים אני מקבל פה פשוט נתונים
מוצר מספר 1 זה xml נקרא מוצר מספר 1 וכל הנתונים שלו מספר מספר 2 והנתונים שלו product ID אתם רואים product ID 1 product ID 2 וכולי product ID 3 למעשה השרת נותן לי נתונים גולמיים והקליינט שזה במקרה שלי אנגולר שיעשה איתם מה שהוא רוצה למה הגישה הזאת יותר טובה כי אז אני לא תלוי בסוג הקליינט זה יכול להיות קליינט של אפליקציה לפלאפון לאייפון לאנדרואיד
זה יכול להיות אתר אינטרנט זה יכול להיות כל קליינט שרוצה מתחבר אליהם מקבל נתונים ומה הוא עושה איתם זה כבר אחריותו וכך יש הפרדה בין צד של השרת שאחראי על נתונים וחיבור לדאטאבייס וטיפול בבקשות ובנתונים לבין החיצוניות של האפליקציה של האתר וצוות אחר יוכל לפתח את האנגולר או את האפליקציה
באנדרואיד ככה אני מפריד לעומת זאת ב-MVC מי שמטפל ב-MVC הוא גם מטפל גם בלוגיקה וגם בגרפיקה ולכן הגישה של Web API מאוד נוחה כי יש הפרדה הזאת בין צד שרת שזה הצד של השרת לצד לקוח ואפשר גם כאן לראות שיש לנו את הגט שלפה אנחנו בעצם מגיעים והוא מחזיר לי רשימת מוצרים מתוך דאטאבייס יש לי גם גט למוצר ספציפי
ואז אני מחפש אותו בדאטה בייס, שימו לב, אני צריך לכתוב קוד שמחפש אותו ומחזיר או not found או אוקיי. יש גם put, שזה המתוד שאיתו מגיעים, וזה למעשה עדכון מוצר.
זה נועד, הפונקציה הזאת נועדה לעדכון מוצר. יש פוסט הזה, שזה הוספה של מוצר, הנה אני רואה לפי הקוד. עכשיו, אני יכול להגיד, תקשיב, אני לא צריך את זה, ואני יכול למחוק חלקים ממנו.
זה מה שהם עשו לי ב-Web API קונטרולר המוכן של אנטיטי פריימורק. בואו נראה קונטרולר אחר. יש לנו קונטרולר ריק, Web API ריק.
ואנחנו מקבלים ממש קונטרולר ריק ותעשה פה מה שאתה רוצה. לדוגמה, אפשר לעשות פונקציה כזאת ואז לכתוב לבד את הקונטרולר. בואו נבדוק שזה עובד.
רק הקונטרולר שלי נקרא טסט API אחד ואז פה אני צריך לכתוב טסט API אחד ונעשה סטארט ונראה איך זה עובד. אני אעשה פה pause רק כדי לראות שזה באמת עובד והנה נכנסנו לצד שרת ופה אנחנו מקבלים רשימת מוצרים ואם אני עושה פה go אני מקבל רשימת מוצרים ואם תעשו view page source אתם ממש רואים פשוט xml עם כל המוצרים בפנים אין פה
html 5 אין את כל הכותרות כי זה לא html זה נטו נתונים עצמם בואו נראה סוג אחרון של קונטרולר שזה בואו נראה קונטרולר אחרון שיש לנו שזה עם פונקציות המוכנות של read-write בסוף אנחנו כמובן נמחק את כל הפונקציות האלו תראו במציאות לכל יחידה לוגית כמו הזמנה כמו מוצר עושים קונטרולר משלו שמטפל בו ואנחנו יכולים לראות
פה שיש לנו פונקציות מוכנות עם קוד קצת מוכן אבל לא מחובר לאנטיטי פריימורק אז יש לנו פונקציה מוכנה לגט פונקציה מוכנה לגט עם פרמטר פונקציה מוכנה לפוסט ואין בה כלום רק פונקציות מוכנות ריקות, פוסט עם פרמטר ודליט.
עכשיו אני גם יכול להגיד, שמע, אני לא צריך דליט, ואין לי הוספת מוצר, יש לי רק עדכון מוצר, אז אני יכול גם למחוק אותה. אז זה בעצם הקונטרולר ככה, חצי מוכן עם פונקציות מוכנות, אבל בלי קוד.
אם אני אגלוש עליו, אני אקבל את מה שכתוב פה ברטורן. יפה מאוד. עכשיו בואו נראה מה זה O-Data. אני עושה קונטרולר חדש, ומשתמש ב-Odata מחוברת עם framework, הבנתם?
זה פונקציות Record Read Write Actions וזה כבר עם נתונים, בואו נראה עם קצת נתונים שיהיה לנו מעניין ונבין מה זה OData. הוא שואל אותי שוב לאיזה טבלה