הקדם
בהדרכה זו, אתה ילמד איך ליצור אPI פשוט בעזרת Flask, שהוא מערכת גלובלית קלה לעיתים של פיתוח אינטרנט. נעבור על הבסיסים של הגדרת יישומך Flask, הגדרות מסלולים, טיפול בבקשות וחזרת תשובות JSON. עד לסיום ההדרכה הזו, יהיה לך API פעיל שניתן להרחיב ולהשליך בשיתוף פעולה עם יישומים אחרים.
דרישות קדמיות
-
שרת Ubuntu ומשתמש לא כולני עם זכויות sudo ומערך מדגים פעיל. עבור הוראות על איך להגדיר את זה, בבקשה בחר את ההתפציל שלך מרשימת זה ועיצב את הדרכה הראשונית להגדרת השרת. ברצונך לעבוד עם גירסה תומכת של Ubuntu.
-
מומחית בשורת הפקודות בLinux. עבור התחלה או השיחזור לשורת הפקודות, תוכלו לבקר במדריך זה על מדריך לשורת הפקודות בLinux
-
מומחה בבסיסיות של תכנות Python.
-
Python 3.7 או מעלה מותקן על מערכת ה-Ubuntu שלכם. כדי ללמוד איך להריץ תסריט Python על Ubuntu, תוכלו להגיע למדריך שלנו על איך להריץ תסריט Python על Ubuntu.
שלב 1 — הגדרת הסביבה של Flask
Ubuntu 24.04 מותקן את Python 3 באופן בר-מודל. פתח את התוכנית העיתונאית והריץ את הפקודה הבאה כדי לבדוק את התקנת Python 3:
אם Python 3 כבר מותקן על המחשב שלך, הפקודה העליונה תשחזר את הגרסה הנוכחית של התקנת Python 3. במקרה שהוא לא מותקן, תוכל להריץ את הפקודה הבאה ולקבל את התקנת Python 3:
בהמשך, עליך להתקין את משהו שנקרא pip
על המערכת שלך:
ברגע שpip
יותקן, בואו נתקל בהתקנת Flask.
תתקני Flask באמצעות pip
. מומלץ לבצע זאת בסביבה מקולינארית כדי להימנע מקונפליקטים עם תוכניות אחרות במערכת שלך.
שלב 2 – יצירת יישומון Flask
השלב הבא הוא לכתוב את הקוד הפיתוח בשביל היישומון Flask. כדי ליצור תוכנית חדשה, תנוע לתוך תיבת הקוד שלך שתרצו:
ברגע שתהיה בתוך התיבה, יציר קובץ פיתוח Python חדש, app.py,
וייבא Flask. אחר כך, יישמה יישומון Flask ויצירה נתיב בסיסי.
זה יפתח את מערכת העריכה הריקמה. כתוב את ההגיון שלך פה או העתק את הקוד הבא:
שלב 3 — יצירת נתיבים RESTful
באחד הפרקים האלה, נגדיר נתיבים ביישומון Flask שמתאימים לפעולות המשתמש השונות על הAPI. כל נתיב יטפל בשיטה HTTP ספציפית.
GET
, POST
, PUT
, וDELETE
: השיטות האלה קורrespond לארבעה הפעלות הבסיסיות של אחסון קבע — הם לרוב מתייחסים ל CRUD (יצירה, קריאה, עדכון, מחיקה).
הוסף את הנתיבים הבאים לתוכנית ה Python app.py
שלך:
בואו נדע עוד על מה שכל פונקצייה עושה:
-
ייבאורים מ Flask: הקוד ייבאור רכיבים הנחוצים מ Flask:
Flask
,jsonify
, וrequest
. -
מאגר מידע בזמנים:
items
הוא רשימה פשוטה של מישורים שמשמשת כמאגר מידע זמני עבור ה API. לכל חלק ישid
וname
. - בעיקרון
GET
ל/api/items
: כשבקשתGET
נעשית ל/api/items
, השרת משחזר רשימת כל החפצים במאגר החפצים. זה שימושי עבור שימוש בכל המשאבים באוסף. -
בעיקרון
POST
ל/api/items
: בקשתPOST
אל/api/items
מאפשרת ללקוח ליצור חפץ חדש. השרת מצפה לעצם JSON שמכיל פרטים של החפץ חדש בגוף הבקשה. אחרי יצירת החפץ, השרת מגיב עם החפץ החדש שניצר וקוד מצב201 Created
. -
בעיקרון
PUT
ל/api/items/<int:item_id>
: בקשתPUT
אל/api/items/<item_id>
משמשת כדי לעדכן חפץ קיים עם הitem_id
המסומן. הלקוח שולח את המידע העדכוני בגוף הבקשה, והשרת משנה את החפץ הקיים. אם החפץ לא נמצא, השרת מחזירה שגיאה404 Not Found
. -
DELETE
/api/items/<int:item_id>
: בקשתDELETE
לכתובת/api/items/<item_id>
מסירה את הפריט עםitem_id
הספציפי ממאגר הנתונים. אם הפריט נמחק בהצלחה, השרת מחזיר קוד סטטוס204 No Content
, המציין שהמחיקה בוצעה בהצלחה ואין תוכן נוסף להחזיר. -
Running the Application: הבלוק
if __name__ == "__main__":
מבטיח שהאפליקציה של Flask תורץ כאשר הסקריפט מבוצע ישירות.
שלב 4 — הפעלת ובדיקת ה API שלך
התחל את השרת Flask באמצעות הפקת הפקודה הבאה:
צריך להבחין בעזרת הפלט הבא של השרת Flask:
מהפלט העליון ניתן להבחין שהשרת מפעיל ב http://127.0.0.1
ומקשיב בפורט 5000
>
עכשיו, ניתן לבדוק את הנקודות הקצרות בעזרת curl
, Postman, או משתמש אחר ברשת. במדריך הלקוח נהגה curl
כדי לבדוק את הנקודות הקצרות ולשלוח בקשות HTTP.
פתח מסלול אחר של Ubuntu וביצע את הפקודות curl
הבאות אחד אחר השני:
- GET:
curl http://127.0.0.1:5000/api/items
- POST:
curl -X POST -H "Content-Type: application/json" -d '{"name": "This is item 3"}' http://127.0.0.1:5000/api/items
- PUT:
curl -X PUT -H "Content-Type: application/json" -d '{"name": "This is updated item 1"}' http://127.0.0.1:5000/api/items/1
- DELETE:
curl -X DELETE http://127.0.0.1:5000/api/items/1
בואו נראה את כל הפקודות האלה בפעולה:
אתה תוהיה מודע שהשרת מחזיר רשימה של כל החפצים במאגר החפצים.
בשימוש בשיטה POST
, בואו נוסף חפץ חדש למאגר המידע.
הערה:במסך הנוסף שלך בו השרת Flask שלך מרוץ, תוהיה מודע לכל הבקשות HTTP שמובצעות וגם לקודות התגובות שלהן.
זו דרך נהדרת לנטר, דיבוג ושינוי בעיות בשרת.
בהמשך, בואו נבצע בקשה PUT
. בקשה PUT
ל /api/items/<item_id>
תעדכן חפץ קיים בעזרת ה-item_id
המסומן.
עכשיו, בואו נבצע בקשה GET
כדי לראות את החפץ 1 המעודכן.
ולבסוף, בואו נבצע בקשה DELETE
כדי להסיר חפץ מהמאגר המידע.
זה יהסיר את החפץ 1 מהמאגר המידע.
כדי לוודא את זה, בואו נבצע בקשה GET
.
אתה תשימו לב שפרט 1 אינו יותר נמצא ונוצר בצורה קבועה.
סיכום
בהדרכה הזו, בנית את היישומה הבסיסית של אפילו אם תרצו להרחיב את ה API עם מסלולים נוספים, לשלב אותה עם בסיס נתונים או להשתמש בשירותים כמו DigitalOcean לשדרגה. Flask היא כלי חזק לבניית API בצורה מהירה ויעילה, ועם הבסיסים האלה, אתה מוכן להתחיל בבניית יישומים מורכבים יותר.
Source:
https://www.digitalocean.com/community/tutorials/create-a-rest-api-using-flask-on-ubuntu