اهلا ومرحبا بكم في مدونه : Cyber1101 انظم للمجتمع

مكتبة Flask-Restful بايثون

مكتبة Flask-RESTful هي إضافة لـ Flask تساعد على بناء واجهات برمجة التطبيقات (APIs) بسهولة وبطريقة منظمة. توفر هذه المكتبة مجموعة من الأدوات لإنشاء API



مكتبة Flask-RESTful هي إضافة لـ Flask تساعد على بناء واجهات برمجة التطبيقات (APIs) بسهولة وبطريقة منظمة. توفر هذه المكتبة مجموعة من الأدوات لإنشاء APIs بطريقة مقروءة وسهلة الفهم، مما يجعل تطوير APIs أكثر كفاءة.

تثبيت المكتبة

أول خطوة هي تثبيت المكتبة باستخدام pip:

pip install Flask-RESTful

إنشاء مشروع بسيط باستخدام Flask-RESTful

دعونا ننشئ مشروعًا بسيطًا لإنشاء API لإدارة قائمة من المهام (to-do list).

1. إعداد المشروع

قم بإنشاء ملف Python جديد، دعنا نسميه app.py، واكتب فيه الكود التالي:

from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

# قائمة لتخزين المهام
tasks = []

# مُعالج API لمهمة واحدة
class Task(Resource):
    def get(self, task_id):
        if task_id < len(tasks):
            return tasks[task_id], 200
        return {"message": "Task not found"}, 404

    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('name', required=True, help='Name of the task is required')
        args = parser.parse_args()
        task_id = len(tasks)
        tasks.append({'id': task_id, 'name': args['name']})
        return tasks[task_id], 201

    def delete(self, task_id):
        if task_id < len(tasks):
            deleted_task = tasks.pop(task_id)
            return deleted_task, 200
        return {"message": "Task not found"}, 404

# مُعالج API لجميع المهام
class TaskList(Resource):
    def get(self):
        return tasks, 200

# إضافة الموارد إلى API
api.add_resource(Task, '/task/', endpoint='task')
api.add_resource(TaskList, '/tasks', endpoint='tasklist')

if __name__ == '__main__':
    app.run(debug=True)
  

2. شرح الكود

  • استيراد المكتبات: قمنا باستيراد Flask وFlask-RESTful.
  • إنشاء التطبيق: أنشأنا مثيلًا من Flask ومثيلًا من Api.
  • إنشاء قائمة مهام: استخدمنا قائمة فارغة لتخزين المهام.
  • كلاس Task: هذا الكلاس يمثل مهمة واحدة. يتضمن:
    • get: لاسترجاع المهمة بناءً على task_id.
    • post: لإضافة مهمة جديدة.
    • delete: لحذف المهمة بناءً على task_id.
  • كلاس TaskList: يمثل مجموعة المهام، ويتضمن:
    • get: لاسترجاع جميع المهام.
  • إضافة الموارد إلى API: تمت إضافة الموارد باستخدام api.add_resource.

3. تشغيل التطبيق

لإطلاق التطبيق، نفذ الأمر التالي في الطرفية:

python app.py

سوف يعمل السيرفر على http://localhost:5000.

4. اختبارات API

يمكنك الآن استخدام أدوات مثل Postman أو curl لاختبار الـ API.

  • لإضافة مهمة جديدة:

    curl -X POST http://localhost:5000/tasks -d "name=First Task"
  • للحصول على جميع المهام:

    curl http://localhost:5000/tasks
  • للحصول على مهمة معينة:

    curl http://localhost:5000/task/0
  • لحذف مهمة:

    curl -X DELETE http://localhost:5000/task/0

خلاصة

تساعدك مكتبة Flask-RESTful على بناء APIs بشكل منظم وسهل. يمكنك تعديل الكود حسب احتياجاتك وإضافة ميزات جديدة مثل التحقق من صحة البيانات وعمليات التسجيل وغيرها.

إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.