PracticU

יצירת פרויקט REST API

בלי כתוביותעם כתוביות
PracticU › קורס דוט-נט - NET Core. - עם Rest API › יצירת פרויקט REST API
יצירת פרויקט REST API
לאחר כל ההקדמה התאורטית, יוצרים כאן את פרויקט ה-REST API הראשון בפועל ב-Visual Studio, ומנקים אותו מקוד לדוגמה שלא נדרש.
השלבים העיקריים
1. יצירת הפרויקט: ב-Create a New Project בוחרים שפת C#, פלטפורמה All, וסוג פרויקט ASP.NET Core Web API. נותנים לו שם (למשל Countries REST API) ובוחרים גרסת .NET העדכנית ביותר (8 בזמן ההרצאה).
2. אפשרויות היצירה: משאירים את HTTPS מופעל (הכרחי לאתר אמיתי, אך לא לפיתוח מקומי), לא מסמנים Enable Docker (לא נדרש בפרויקט הזה), לא מסמנים Enable OpenAPI support (Swagger), מסמנים Do not use top-level statements (כדי לראות מחלקת Program ופונקציית Main מפורשות), ולא מסמנים Use controllers - וכך מתקבל פרויקט מסוג Minimal API במקום Controllers.
3. ניקוי קוד ברירת המחדל: הפרויקט נוצר עם דוגמת "Weather Forecast" מוכנה. מוחקים את הקובץ WeatherForecast ואת כל מה שקשור אליו, וגם קוד לא נדרש של Authentication ו-Redirection, כדי להישאר עם פרויקט נקי.
4. הגדרת Namespace: דרך Properties של הפרויקט מגדירים Default Namespace אחיד (למשל שם הפרויקט), כך שגם קבצים עתידיים יקבלו אותו namespace, עם נקודה-פסיק בסוף השורה כדי לחסוך הזחה.
שימו לב
לאחר הניקוי הרצת הפרויקט לא תחזיר שום תוצאה, כי אין עדיין קוד שמאזין לאף נתיב (Route) - זה מה שבונים בהרצאות הבאות.
בסיום ההרצאה יש פרויקט Minimal Web API נקי, מוכן להתחיל לבנות בו שירות שמחזיר מידע על מדינות.
השיעור הבא בקורס: יצירת Model דוט נט NET Core.
מילון מושגים:
REST – סגנון לבניית ממשקי API מעל HTTP, המבוסס על משאבים ועל שיטות סטנדרטיות כמו GET ו-POST.
Visual Studio – סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.
C# – שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
.NET – פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
HTTPS – הגרסה המאובטחת של HTTP, שמצפינה את התקשורת בין הדפדפן לשרת בעזרת TLS ומאמתת את זהות האתר.
Docker – פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
Namespace – מרחב שמות שמקבץ שמות של טיפוסים ורכיבים ומונע התנגשות בין שמות זהים בחלקים שונים של הקוד.
ראוט – הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה; גם מסלול שדרכו עוברות חבילות ברשת.

פרקי ההרצאה: יצירת פרויקט REST API

  1. 00:00

    בניית REST API מינימלי

  2. 00:38

    בחירת סוג פרויקט Web API

  3. 01:34

    הגדרות הפרויקט ו-HTTPS

  4. 03:10

    Minimal API מול Controllers

  5. 04:07

    הפרויקט הראשוני והדמו

  6. 05:03

    הרצת הפרויקט

  7. 06:48

    ניקוי קוד ה-Boilerplate

תמלול ההרצאה: יצירת פרויקט REST API

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

  1. 00:02

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

  2. 00:20

    זהו Rest API שמכיל מעט מאוד קוד. אז בואו ניגש ונפתח את Visual Studio.net, נבצע Create a New Project, נתחיל לבחור פה את הפילטרים המתאימים.

  3. 00:34

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

  4. 00:46

    אז יש לנו אפשרות לבחור את זה, שזה ASP.NET Core, Web API זה מה שאנחנו רוצים. בואו נעשה Next, אני רואה שהוא כבר מצביע לי פה על C. projects, יכול להיות שהוא יצפיע לכם על איזשהו מקום אחר, אתם יכולים לשמור אותו באיזה תקיעה שאתם רוצים.

  5. 01:01

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

  6. 01:26

    קודם כל תשימו לב שכבר יש פריימורק מספר 8,.NET Core הכוונה, גרסה 8 ולא רק גרסה 7, נכון להיום, בהמשך בטח יום שידורים נוספים. מה אנחנו רוצים?

  7. 01:39

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

  8. 01:53

    פרוטוקול HTTP וגם עם HTTPS. HTTPS זה פשוט HTTP, והוא secured. ה-S זה secured. זה אומר שכל התקשורת היא בעצם הופכת להיות מוצפנת.

  9. 02:05

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

  10. 02:18

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

  11. 02:40

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

  12. 03:00

    יש לנו פה enable open API support, זה נקרא swagger הדבר הזה, אולי בהמשך נסתסק עם זה, כרגע אני לא מסמן את זה. do not use top level statement, אני תמיד מסמן, אני אישית לא אוהב להשתמש בtop level statement, דיברנו על זה אם אני לא טועה בעבר.

  13. 03:18

    וזה basically בתאר שבמחלקה הראשית אין פונקציית main, אני לא אוהב את זה, אני אישית כן אוהב לראות את הקלאס ואת המיין, אז אני מסמן do not use top level statement, וכרגע אני לא מסמן use controllers, בהמשך נראה מה זה controllers, אם אני מסמן use controller אז הוא אומר,

  14. 03:39

    use controllers instead of minimal APIs, ואנחנו רוצים בדוגמה הזאת לראות מה זה מינימל API, זה היותר. אני אוהב להתחיל מהפשוט למורכב, לכן אני לא מסמן את זה, בכדי שהוא לא יבנה לי קונספט שנקרא Controllers, ואוטומטית מה שיבנה לי זה קונספט שנקרא Minimal API, Minimal Web API, אז זה הדבר שגורם לזה

  15. 04:05

    להיות מינימלי, בואו נבצע Create, והמערכת הולכת ויוצרת לנו איזשהו פרויקט, ונותנת לנו איזשהו קוד מוכן כבר, מה שנקרא מהן Hello World כזה, ואו.

  16. 04:17

    דמו, ומה שאני רואה זה קודם כל איזושהי מחלקה שנקראת Weather Forecast, זאת אומרת שהדמו פרוג'קט ש Visual Studio.net נותנת לנו זה בעצם כאילו Web API שנותן לנו תחזיק מזג אוויר, אז היא אומרת לנו הנה אנחנו חושפים מידע לגבי מזג אוויר אז למזג אוויר יש תאריך וטמפרטורה בצלזיוס וטמפרטורה

  17. 04:40

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

  18. 05:03

    זה בעצם סדרה של אפשרויות להרצאה, ובי דיפולט, בגלל שאמרנו לו, להשתמש ב... כלומר לאפשר, https הזו, אוטומטית מסמן לנו https. אז בכוונה, לפני שאני אמריץ את זה, אני אעביר את זה ל-HTTP.

  19. 05:18

    את זה, ועכשיו אני אריץ, Ctrl F5, והמערכת רצה, ונותנת לי את החזית, סתם פיקטיבית כזה, בואו רגע אני טיפה נגדיל, של מזג אוויר, שימו לב, שיש לי פה גלישה, ואני רואה שאני נמצא ב, אני אתיק את זה רגע, וידביק את הנתיב המלא, אני רואה שאני נמצא על HTTP, אז אני רואה כאילו, JSON

  20. 05:41

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

  21. 05:57

    אם אנחנו, נגיד, לא תקשיב, אני רוצה להריץ את זה על HTTPS, בואו נעביר את זה ל-HTTPS, אז הוא יגיד, אין בעיה, אבל, תראו מה הוא אומר לי, הוא, האמת, מריץ את זה.

  22. 06:10

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

  23. 06:26

    אני כנראה הרצתי את זה כבר כמה פעמים, אז הוא לא שואל אותי יותר את השאלה הזאת. אז אתם יכולים להשאיר את זה ל-HTTP, או להעביר את זה ל-HTTP, זה לא כזה משנה כרגע.

  24. 06:34

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

  25. 06:46

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

  26. 07:00

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

  27. 07:17

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

  28. 07:28

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

  29. 07:43

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

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

ההרצאה הקודמת: שימוש REST API - Single-Page Application

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

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

  • יצירת שירות Web API
  • יצירת פרויקט Maven - חלק 1
  • יצירת פרויקט ב-TypeScript
  • יצירת פרויקט חדש

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

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