flask graphql
v2.0.1
يضيف دعم GraphQL إلى تطبيق Flask الخاص بك.
فقط استخدم عرض GraphQLView من flask_graphql
from flask import Flask
from flask_graphql import GraphQLView
from schema import schema
app = Flask ( __name__ )
app . add_url_rule ( '/graphql' , view_func = GraphQLView . as_view (
'graphql' ,
schema = schema ,
graphiql = True ,
))
# Optional, for adding batch query support (used in Apollo-Client)
app . add_url_rule ( '/graphql/batch' , view_func = GraphQLView . as_view (
'graphql' ,
schema = schema ,
batch = True
))
if __name__ == '__main__' :
app . run () سيؤدي ذلك إلى إضافة /graphql نقطة النهاية إلى تطبيقك وتمكين GraphIQL IDE.
إذا كنت تستخدم نوع Schema من مكتبة الجرافين ، فتأكد من استخدام سمة graphql_schema لتمريرها كمخطط على عرض GraphQLView . خلاف ذلك ، فإن GraphQLSchema من graphql-core هو الطريق للذهاب.
مزيد من المعلومات في ملاحظات إصدار Graphene V3 واستخدام GraphQl-Core 3.
schema : كائن GraphQLSchema الذي تريد تنفيذ العرض عندما يحصل على طلب صالح.context : قيمة لتمريرها كدالة context_value to execute . تم تعيين افتراضي على dict مع كائن الطلب في request المفتاح.root_value : root_value الذي تريد توفيره execute GRATEQL.pretty : سواء كنت تريد أن يكون الرد مطبوعًا أم لا.graphiql : إذا كان True ، فقد يقدم GraphIQL عند تحميله مباشرة من متصفح (أداة مفيدة لتصحيح الأخطاء والاستكشاف).graphiql_version : إصدار GraphIQL لتحميله. الإعدادات الافتراضية إلى "1.0.3" .graphiql_template : حقن سلسلة قالب Jinja لتخصيص GraphIQL.graphiql_html_title : عنوان GRASTIQL لعرضه. الإعدادات الافتراضية إلى "graphiql" .batch : اضبط طريقة عرض GraphQL على أنها دفعة (لاستخدامها في Apollo-Client أو ReactRelayNetworkLayer)middleware : قائمة من GraphQl Middlewares.encode : المشفر لاستخدامه في الاستجابات (الإعدادات الافتراضية بشكل معقول إلى graphql_server.json_encode ).format_error : تنسيق الخطأ لاستخدامه للاستجابات (الافتراضيات المعقول إلى graphql_server.default_format_error .subscriptions : نقطة نهاية Socket GraphIQL لاستخدام الاشتراكات في GraphQL-WS.headers : سلسلة GraphQL اختيارية لاستخدامها كرؤوس الطلب الأولي المعروضة ، إذا لم يتم توفيرها ، سيتم استخدام الرؤوس المخزنة.default_query : سلسلة GraphQL اختيارية لاستخدامها عند عدم توفير أي استعلام ولا يوجد استعلام مخزن من جلسة سابقة. إذا لم يتم توفيرها ، فسيستخدم GraphIQL استعلامه الافتراضي الخاص.header_editor_enabled : منطقية اختيارية تمكن محرر الرأس عندما يكون صحيحًا. الإعدادات الافتراضية إلى خطأ .should_persist_headers : منطقية اختيارية تمكن من استمرار الرؤوس للتخزين عندما يكون صحيحًا. الإعدادات الافتراضية إلى خطأ . يمكنك أيضًا الفئة الفرعية GraphQLView و get_root_value(self, request) أن يكون لها قيمة جذر ديناميكية لكل طلب.
class UserRootValue ( GraphQLView ):
def get_root_value ( self , request ):
return request . user منذ V3 ، يعيش رمز flask-graphql في مستودع GraphQL-Server للحفاظ على أي تغيير في الحزمة الأساسية على المزامنة مع جميع عمليات التكامل الأخرى. من أجل المساهمة ، يرجى إلقاء نظرة على المساهمة.