اذهب إلى المحتوى
  • 0

كيفية توليد رسالة خطأ مخصصة في فلاسك Flask بإستخدام flask-restful؟

Mohssen A Mohssen

السؤال

في flask-restful يمكنني أستخدام الدالة abort لتوليد رسالة خطأ يمكنني تحديد رقم الخطأ (500 على سبيل المثال)، وكذلك رسالة الخطأ message 

abort(500, message="Error: Can't find the file you looking for.")

تقوم الدالة السابقة بتوليد JSON :

{
  "status": 500,
  "message": "Error: Can't find the file you looking for."
}

لكن لا توفر الدالة abort طريقة لإضافة قيم أخرى في كود JSON، فعلى سبيل المثال أريد أن يتم توليد الخطأ ليكون بالشكل التالي:

{
  "status": 500,
  "route": "/api/v1/get-log"
  "message": "Error: Can't find the file you looking for."
}

كيف يمكنني عمل مثل الرسالة السابقة في Flask-restful؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

استخدم الدالة abort من المكتبة flask_restful ليس من مكتبة flask ﻷن الأولى تقبل إضافة قِيم أخرى في كود ال JSON، والثانية لا تقبل:

from flask import Flask
from flask_restful import Resource, Api, abort #قم باستدعاء الدالة 
											   #abort 
                                               # من المكتبة
                                               # flask_restful

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

class HelloWorld(Resource):
    def get(self):
        # قم باستخدام الدالة
        # وأضف القيم الجديدة إليها
        # على سبيل المثال قمنا هنا بإضافة 
        # route= api.url_for(self)
        abort(500, message="Error: Can't find the file you looking for.", route=api.url_for(self))
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/api/v1/get-log')


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

 

تم التعديل في بواسطة مسعود زاهي
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...