PracticU

קבלת נתון ממסד נתונים
דוט נט NET Core.

בלי כתוביותעם כתוביות
PracticU › קורס דוט-נט - NET Core. - עם Rest API › קבלת נתון ממסד נתונים דוט נט NET Core.
קבלת נתון ממסד נתונים דוט נט NET Core.
כך מביאים ספר בודד לפי מזהה ב-REST API: פונקציה ב-Service, route עם פרמטר id ובדיקה ב-Postman.
איך זה עובד
1. בחירת הפונקציה הנכונה: ב-BooksService כותבים GetOneBook(int id). מתוך First, FirstOrDefault, Single ו-SingleOrDefault בוחרים SingleOrDefault. First מחזיר את הראשון ומותר שיהיו כמה. Single דורש בדיוק אחד, ואילו הגרסאות עם OrDefault מחזירות null כשאין תוצאה.
2. הסיבה לבחירה: לא יכולים להיות שני ספרים עם אותו ID, אבל ייתכן שה-ID שנשלח לא קיים. התנאי הוא ספר שה-ID שלו שווה לפרמטר.
3. סימן שאלה בטיפוס: הפונקציה מחזירה Book? כי ייתכן שהספר לא יימצא.
4. ב-Controller: מעתיקים את הפונקציה בשם GetOneBook, עם route שכולל שומר מקום {id}. שם הפרמטר חייב להתאים לשם בנתיב, ואפשר לציין [FromRoute] לבהירות, אף שאינו חובה.
5. בדיקה: ב-Postman משכפלים את ה-Request בשם GetOneBook ומנסים api/books/1 ו-api/books/2, וחוזר אובייקט בודד ולא מערך.
שימו לב
- בבקשה למזהה 4, שלא קיים, התשובה ריקה בלי content. הנכון הוא להחזיר 404, אבל טיפול בשגיאות יילמד במודול אחר בקורס.
עכשיו אפשר להביא ספר בודד לפי ה-ID מתוך הכתובת.
השיעור הבא בקורס: הוספת נתון חדש למסד נתונים

פרקי ההרצאה: קבלת נתון ממסד נתונים דוט נט NET Core.

  1. 00:00

    בניית פונקציית Get One Book

  2. 00:40

    בחירת Single Or Default

  3. 01:16

    טיפול בספר שלא נמצא

  4. 02:06

    קבלת ה-ID מה-Route

  5. 02:45

    שימוש ב-FromRoute

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

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

  1. 00:02

    בואו נבנה את getOneBook, יש לנו כאן פונקציית public, מחזירה book, getOneBook, בצורה כזאת, ואנחנו רוצים לקבל ID, int ID, ולהביא את הספר לפי ID, return, underline db, נקודה, books, נקודה, יש לנו כאן ארבע פונקציות שמאפשרות להביא פריט בודד, first, first of default, or default, single, single or default,

  2. 00:33

    ואנחנו רוצים כמובן את single or default, מי שלא זוכר, פשוט להסתכל בקורס של מסעי נתונים, אבל ההבדל בגדול, first זה אומר יכול להיות שיש לי הרבה, תביא לי את הראשון, מותר שיהיה הרבה, first or default אומר שאם אתה לא מצאת את מה שאתה מחפש, תחזיר לי נל, כאשר ב-first אין מצב שיהיה נל, אחרת הוא קורס, single אומר

  3. 00:57

    חייב להיות לי אחד, אסור שיהיה יותר. אבל חייב להיות אחד ו-single or default אומר שיכול להיות שהוא גם לא קיים ואז אני אחזיר לחנל, ב-single הוא חייב להיות קיים.

  4. 01:07

    אנחנו רוצים-single or default, single כי אנחנו מקבלים ID ולא יכול להיות שני ספרים עם אותו ID. Default יכול להיות שנתנו לי ID שבכלל אין לי ספר כזה.

  5. 01:16

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

  6. 01:34

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

  7. 01:47

    בואו נבנה את הפונקציה כאן, אני פשוט תעתיק את זה, ידביק. פה אני אוהב שה-dispose יהיה בסוף, אז אין בעיה להזיז אותו קצת הצידה. get one book ביחיד, ואנחנו רוצים שה-book יקבל int id בצורה כזאת, וכאן אנחנו רוצים להביא את ה-id ב-route.

  8. 02:09

    זה מתבצע על ידי שומר מקום שנקרא id. השם של המשתמש... של המשתנה הזה, חייב להיות אותו השם של המשתנה הזה. לפי ה-Naming, הוא יודע איך בעצם להכניס את ה-Value, ואפשר גם להגיד לו כאן, שאנחנו רוצים שהוא יחפש את השם של המשתנה הזה, את ה-Value שלו, בתוך ה-Route.

  9. 02:37

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

  10. 02:57

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

ההרצאה הקודמת: קבלת נתונים מ-Database - דוט נט NET Core.

ההרצאה הבאה: הוספת נתון חדש למסד נתונים

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

  • מחיקת רשומה קיימת - ממסד נתונים
  • הסבר על Console - דוט-נט Framework vs Core
  • הסבר על WinForms - דוט-נט Framework vs Core
  • קבלת מידע בחזרה מ-Fragment

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

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