"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > التوجيه المريح - مثال على Flask API

التوجيه المريح - مثال على Flask API

تم النشر بتاريخ 2024-11-08
تصفح:918

Restful Routing - A Flask API Example

التوجيه المريح هو الدفع لجعل التوجيه متسقًا من خلال جميع التطبيقات المختلفة. REST هو نقل الحالة التمثيلية. يستخدم HTTP بطريقة متسقة، يمكن قراءتها بواسطة الإنسان، ويمكن قراءتها بواسطة الآلة.

المعايير هي الحصول، والنشر، والتصحيح، والوضع، والحذف.

سنقدم أدناه مثالاً على اثنين من المسارات المريحة في قاعدة بيانات flask API للحصول على/إعطاء المعلومات من/إلى المقدمة وتنفيذ الإجراء المطلوب.

مثال على GET للمستخدمين في جانب الخادم باستخدام القارورة يستخدم الكود أدناه.

أولاً ستحتاج أيضًا إلى استيراد هذه العناصر. سيتم استخدام استيراد قاعدة البيانات لاحقًا لمثال DELETE.

from flask import request (*Used for POST and PATCH*)
from config import db, api, app 

from flask_restful import Resource
from models.user import User

يجب إعداد ملف التكوين الخاص بك كما هو موضح أدناه حتى تعمل عمليات الاستيراد.

 db = SQLAlchemy(app=app, metadata=metadata)
 api = Api(app=app)

رمز GET في مسار المستخدم:

 class UsersResource(Resource):
     def get(self):
        users = [user.to_dict() for user in User.query.all()]
        return users, 200

 api.add_resource(UsersResource, "/api/users", endpoint="users")

لتفكيك هذا الرمز.

ستحتاج إلى إنشاء فئة لمورد المستخدمين ووضع المورد كوسيطة.

بعد ذلك قم بإنشاء وظيفة للحصول على. ستقوم الوظيفة بالاستعلام عن جدول المستخدم ثم إنشاء قائمة بجميع المستخدمين الذين يقومون بتحويلهم إلى قواميس للنقل بحيث يمكن رؤيتهم على صفحة الويب بتنسيق JSON. ثم تقوم بإرجاع القائمة بالإضافة إلى رمز الحالة 200 الذي يفيد بنجاح الطلب.

أخيرًا ستحتاج إلى إنشاء المورد. قم بتسمية المورد الذي تستخدمه بالإضافة إلى المسار ونقطة النهاية. تتم إضافة /api أمام المسار حتى يتمكن موقع الاستضافة من التمييز بين المسار الأمامي والخلفي.

بالنسبة للحذف، سيتعين عليك إنشاء مورد آخر لحذف مستخدم واحد. انظر الكود أدناه:

 class UserResource(Resource):
     def delete(self, id):
         user= User.query.get(id)
         db.session.delete(user)
         db.session.commit()
         return {}, 204

 api.add_resource(UserResource, "/api/user/", 
 endpoint="user")

لمزيد من التوضيح لما يحدث في عملية الحذف والذي يختلف عن عملية get، هناك بعض الأشياء. أولاً، يتم حذف مستخدم واحد فقط، لذا ستحتاج إلى إنشاء مورد جديد. يتم إعداده بالمثل ولكن ليس الجمع.

ثم تقوم بإنشاء وظيفة الحذف. سيحتاج إلى وسيطتين حيث تحتاج إلى تمرير المعرف الذي تم إرساله من الواجهة الأمامية لتحديد المستخدم الذي تريد حذفه. ثم ستستخدم حذف جلسة db والالتزام لتحديث قاعدة البيانات. بعد ذلك تقوم بإرجاع رد فارغ لأنه لا يوجد شيء لإرساله مرة أخرى وحالة الحذف (204).

أخيرًا تحتاج إلى إنشاء المورد. هذه المرة باستخدام UserResource. سيكون المسار مختلفًا ليكون فرديًا وله المعرف الذي تم تمريره إلى الواجهة الأمامية ونقطة النهاية فردية أيضًا.

يجعل التوجيه RESTful ذلك عند التبديل بين التطبيقات المختلفة، حيث يوجد معيار يمكن للجميع اتباعه لتوجيه الواجهة الخلفية ومعرفة المسارات الموحدة. بالإضافة إلى ذلك، فهو يجعل المسارات أكثر وضوحًا وأسهل في القراءة.

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/spencer_adler_880da14d230/restful-routing-a-flask-api-example-5cpb?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3