PracticU

יצירת Controller
דוט-נט Core

בלי כתוביותעם כתוביות
PracticU › קורס דוט-נט - NET Core. - עם Rest API › יצירת Controller דוט-נט Core
מילון מושגים:
REST - סגנון לבניית ממשקי API מעל HTTP, המבוסס על משאבים ועל שיטות סטנדרטיות כמו GET ו-POST.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
ראוט - הגדרה שמקשרת כתובת בקשה לקוד שמטפל בה באפליקציה. גם מסלול שדרכו עוברות חבילות ברשת.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
PUT - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או להחליף משאב קיים במלואו.
DELETE - פקודת SQL למחיקת שורות מטבלה. גם שיטת HTTP לבקשת מחיקה של משאב בשרת.

יצירת Controller דוט-נט Core
לפני שמתחברים למסד הנתונים, בונים Controller פשוט ב-REST API כדי לוודא שהתוכנית רצה ומחזירה תשובה לדפדפן.
השלבים העיקריים
1. יצירת ה-Controller: מוסיפים New Item ובוחרים API Controller Empty ולא MVC, שמשתייך לטכנולוגיה אחרת (ASP.NET). קוראים לו BooksController.
2. פונקציית בדיקה: כותבים פונקציה Test שמחזירה string עם הטקסט "testing our REST API".
3. מתודה ו-route: מגדירים attribute כמו HttpGet, ויש גם post, put, patch ו-delete. הפונקציה תופעל רק כשהמשתמש שולח בקשה עם המתודה הזאת לנתיב שהוגדר.
4. הרצה: Ctrl+F5 פותח דפדפן. הוא עדיין מנסה לגלוש ל-WeatherForecast שנמחק, ולכן מחליפים את הנתיב ל-api/testing ורואים את הטקסט.
5. נתיב ברירת מחדל: ב-Properties, בקובץ Launch Settings, מחליפים את WeatherForecast ב-api/testing בכל המקומות, כדי שהדפדפן ייפתח ישר שם.
6. תחילית על ה-Controller: [Route("api/[controller]")] מוסיף תחילית לכל הפונקציות, כש-[controller] הוא שם הקונטרולר בלי הסיומת, כלומר books. אם משאירים גם route על הפונקציה, הנתיב הופך לכפול, למשל api/books/api/testing.
פקודות והגדרות
- [HttpGet] ו-[Route("api/testing")] על הפונקציה
- Launch Settings בתיקיית Properties
שימו לב
- בנתיב שבפונקציה לא שמים slash בתחילתו כשיש תחילית על ה-Controller.
- המרצה מעדיף לרשום על כל פונקציה את הנתיב המלא, כי שם הקונטרולר בתחילית רחוק מהפונקציה ופחות ברור. אפשר לבחור כל אחת מהגישות.
כעת אפשר לבנות Controller עם פונקציות שמוגדרות לפי מתודה ונתיב.
השיעור הבא בקורס: יצירת מחלקת Service דוט-נט Core

פרקי ההרצאה: יצירת Controller דוט-נט Core

  1. 00:00

    בניית ה-Controller

  2. 00:59

    פונקציית בדיקה והחזרת string

  3. 01:36

    מאפיין Route ובחירת Method

  4. 02:47

    הרצת הפרויקט

  5. 03:27

    עדכון Launch Settings

תמלול ההרצאה: יצירת Controller דוט-נט Core

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

  1. 00:02

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

  2. 00:15

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

  3. 00:25

    אז בואו ניגש ונוסיף, אפשר להוסיף קונטרולר, אפשר להוסיף New Item, בואו ננסה להוסיף קונטרולר, אני רואה שהוא מציג לי את החלונית הזאת, אני לא רוצה קונטרולר של MVC, אז אנחנו לא רוצים את ה-MVC ששייך בעצם לטכנולוגיה אחרת שנקראת ASP.NET, אנחנו רוצים API, בואו ניגש ל-API, נגיד לו API

  4. 00:45

    Controller Empty, נבנה את הכל בעצמנו, נבצע Add, הנה אני רואה שהוא מסמן לי פה את ה-API Controller Empty, נקרא לו Books Controller, add, הנה הקונטרולר, אני פטר מה-extra namespace, נקודה psick, מעולה, ואנחנו רוצים לבנות איזושהי פונקציה שמחזירה string, test נקרא לה, return, testing our REST API, מה שאנחנו

  5. 01:13

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

  6. 01:22

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

  7. 01:34

    הדבר שגורם למערכת להגיע לפונקציה זה בעצם תשלובת בין מטוד, שדיברנו על זה בעבר, לבין ראוט, לבין הנתיב. זה מתבצע כאן בעזרת c-sharp attribute, והוא נקרא http, ויש לנו...

  8. 01:52

    ויש לנו אפשרות להגיד שאנחנו רוצים htp get, זאת אומרת רק אם היוזר מבצע get request הוא יגיע לפונקציה, או להגיד לו אני רוצה htp post, או put, או patch, או delete, וכך בעצם אנחנו מגדירים את המתוד, שרק אם היוזר מבצע גלישת request, htp

  9. 02:13

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

  10. 02:37

    נבין מה היא, זה בעצם יהיה ה-Route, שנצטרך לכתוב, בשורת ה-URL, בשביל להגיע לפונקציה, ונקבל את זה בחזרה. בואו נראה, כל מה שאני עושה, אני מוודא שאני נמצא פה על HTTP, ו-Ctrl-F5, אני מריץ את המערכת, הנה נפתח לי אתר אינטרנט, ואני רואה שהוא אומר לי, תקשיב, אני

  11. 02:58

    בעצם הולך לגלוש, אנו גולש, ל-Weather Forecast, שמחקנו בכלל, אבל הוא זוכר אותו, תכף אני פטר ממנו, וכל מה שאני רוצה לעשות זה למחוק את זה, ולהגיד לו, תקשיב, לך בבקשה ל-API-Testing, זה מה שכתבנו פה, Enter, ואז הוא מצליח לגלוש לו פונקציה, ואומר לי, Testing our REST API.

  12. 03:20

    יופי, הכל עובד, איזה כיף. בואו נגדיר רק את התיומת הזאת, בפרופרטיז, Launch Settings, במקום ה-Weather Forecast שאנחנו רואים כאן, בואו נדביק כאן וכאן.

  13. 03:35

    כל מקום שהוא גולש באיזושהי שיטה, אולי הוא גולש ב-HTPS, אולי ב-HTTP, אולי הוא משתמש באיזשהו סרבר פנימי, אז שאוטומטית יגלוש ל-API Testing, נסגור את האתר, נחזור, Ctrl F5, נריץ עוד פעם ונראה אוטומטית שהוא כבר גולש לכאן, יופי.

  14. 03:54

    והנה אנחנו רואים שהצלחנו להגדיר פונקציה, שמוגדרת על ידי method-specific ו-route-specific. שימו לב שאנחנו לא שמים slash-מקדים פה. מה זאת הפקודה הזאת?

  15. 04:08

    זאת פקודה שאומרת, רגע, אם אתם רוצים איזשהו

לקורס המלא: קורס דוט נט NET Core. אונליין

ההרצאה הקודמת: יצירת מחלקת Context - לתקשורת עם מסד הנתונים

ההרצאה הבאה: יצירת מחלקת Service - דוט-נט Core

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

  • יצירת שאילתות View - דוט-נט Core
  • יצירת Controller בסיס
  • Media Controller
  • הסבר על Console - דוט-נט Framework vs Core

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

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