PracticU

החזרת מערך ב-JSON

בלי כתוביותעם כתוביות
PracticU › קורס דוט-נט - NET Core. - עם Rest API › החזרת מערך ב-JSON
החזרת מערך ב-JSON
בהרצאה זו בונים את ה-Endpoint הראשון שמחזיר מערך JSON של כל המדינות, ומבינים את מבנה ה-Minimal API ב-.NET Core.
איך זה עובד
1. Builder Design Pattern: בפונקציית Main, WebApplication.CreateBuilder מייצרת אובייקט builder, שעליו אפשר להגדיר כל מיני הגדרות (שירותים, hosting, configuration) לפני שקוראים ל-Build שבונה בפועל את האפליקציה (app) - זה דגם עיצוב (Design Pattern) הנקרא Builder.
2. מיפוי נתיבים: על אובייקט ה-app משתמשים בפקודות MapGet, MapPost, MapPut, MapPatch, MapDelete - אחת לכל method - כדי "למפות" צירוף של route ו-method לפונקציה (lambda expression) שתופעל כשמגיעה בקשה מתאימה.
3. הגדרת הנתיב הראשון: ממפים MapGet לנתיב /api/countries, כך שכל בקשת GET לנתיב הזה תפעיל פונקציה שמחזירה את Repository.countries.
4. החזרה אוטומטית כ-JSON: כאשר הפונקציה מחזירה את אוסף המדינות (List), הפרויקט הופך זאת אוטומטית לייצוג JSON בתשובה - בלי קוד נוסף.
5. כתובת הפעלה: ב-Properties > launchSettings.json אפשר להגדיר את launchUrl כך שהריצה תפתח אוטומטית בנתיב api/countries במקום בנתיב של דוגמת Weather Forecast הישנה.
שימו לב
אפשר להוסיף Console.WriteLine בתוך הפונקציה כדי לראות בקונסול שהבקשה אכן הופעלה - כלי נוח לבדיקה בזמן הפיתוח.
בסיום ההרצאה יש Endpoint עובד שמחזיר את כל המדינות כמערך JSON, בפחות מכמה שורות קוד.
השיעור הבא בקורס: החזרת אובייקט ב-JSON
מילון מושגים:
JSON – פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
Endpoint – נקודת קצה שאליה פונים ב-API, המזוהה בכתובת ומטפלת בסוג מסוים של בקשות; גם מכשיר קצה ברשת.
.NET – פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
מתודה – פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
ראוט – הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה; גם מסלול שדרכו עוברות חבילות ברשת.
Lambda – פונקציה קצרה ואנונימית בקוד; גם שירות של AWS להרצת קוד בענן בלי לנהל שרתים.
GET – שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו; הפרמטרים מועברים בדרך כלל בכתובת.
ריפוזיטורי – מאגר שמרכז את קוד המקור של פרויקט ואת היסטוריית השינויים שלו, לרוב מנוהל ב-Git.

פרקי ההרצאה: החזרת מערך ב-JSON

  1. 00:00

    החזרת רשימת כל המדינות

  2. 00:36

    תבנית עיצוב Builder Design Pattern

  3. 01:48

    מיפוי מתודים עם app.map

  4. 02:43

    הגדרת ה-Route והפונקציה

  5. 03:20

    הרצת דמו ראשוני

תמלול ההרצאה: החזרת מערך ב-JSON

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

  1. 00:02

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

  2. 00:19

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

  3. 00:34

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

  4. 00:49

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

  5. 01:07

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

  6. 01:23

    של מה אנחנו יכולים לתת לו, איזה סרוויסס אנחנו יכולים להוסיף, וכל מיני דברים שקשורים ל-hosting, ו-environment, ו-configurations וכדומה, ואז בבת אחת אנחנו אומרים לו, טוב בוא תבנה לי עכשיו את האפליקציה שהיא ה-REST API, זה קונספט שנקרא Builder Design Pattern, אז הם עובדים עם הקונספט הזה, ואז אנחנו

  7. 01:43

    בונים את ה-app, זה ה-REST API שלנו, ואנחנו עוד כאן יכולים לתת מידע שקשור יותר ל-REST API, על ידי up נקודה, ומה שאנחנו רוצים לתת לו זה map, ויש לנו map get, map post, map put, map patch, map delete, זאת אומרת כל המטוד שלמדנו עליהם, אנחנו יכולים להגיד לו כאן, עכשיו למה הם בחרו את

  8. 02:09

    המילה map, to map something זה למפות משהו, זאת אומרת שאנחנו רוצים נניח לגשת למפ get, ולבוא למפ get ולהגיד תקשיב, אם גולשים ב get, את request ל-route שאתה כותב כאן, פה אנחנו רוצים לכתוב את ה-route, אז תפעיל פונקציה שנמצאת פה, שאנחנו רוצים לתת לו.

  9. 02:33

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

  10. 02:50

    פאטרן הבא, slash API, כי אמרנו שנהוג ש-rest API הראה אותי מתחיל ב-API, ו-slash countries, זאת אומרת שאם גולשים לנו ל-API countries, אז אנחנו בעצם רוצים להחזיר את כל המדינות, אז אנחנו שולחים כאן פונקציה, הנה פונקציה, lambda expression כזאת, והפונקציה הזאת תתבצע ברגע שהגלשו

  11. 03:15

    ב-get request לנתיב הזה. בואו נעשה... דמו, אני רוצה רק להחזיר משהו return test בצורה כזאת נשמור ונריץ פה אני מחזיר בעצם את מה שאני רוצה שיחזור בחזרה למי שקרא לי אז שימו לב קודם כל שהפרויקט יודע לגלוש ל-low world הזה שהם בנו, weather forecast

  12. 03:38

    שזה בכלל לא הנושא שלנו תכף נשנה את זה ונגיד לו לגלוש אוטומטית לזה אז בואו נלך לכתובת הראשית המספר

לקורס המלא: קורס דוט-נט - NET Core. - עם Rest API

ההרצאה הקודמת: יצירת Model - דוט נט NET Core.

ההרצאה הבאה: החזרת אובייקט ב-JSON

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

  • JSON
  • החזרת ערכים מה-Controller
  • מערך של מבנים - Array
  • קורס סי-שארפ - מערך - Array

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

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio