आपके ग्राफ़क्यूएल क्वेरी की जड़ पर उपलब्ध फ़ील्ड को ग्राफ़ क्वेरी स्कीमा में रूट क्वेरी प्रकार के फ़ील्ड के रूप में परिभाषित किया गया है, आमतौर पर केवल Query
नाम दिया जाता है। यह प्रकार स्कीमा में किसी भी अन्य ग्राफक्ल्यू ऑब्जेक्ट प्रकार के समान है। तो इस प्रश्न को
क्या ग्राफ़क्लुएल फ़ील्ड में पास किए गए तर्कों या तर्क प्रकारों के आधार पर विभिन्न परिणामों को वापस करने की क्षमता है?
संक्षिप्त उत्तर "नहीं" है। ग्राफ़क्यूएल की एक महत्वपूर्ण संपत्ति यह है कि एक विशेष क्षेत्र हमेशा एक ही प्रकार को वापस करना चाहिए; इसका अर्थ यह है कि एक फ़ील्ड जो एक सरणी लौटाता है, हमेशा एक सरणी लौटाता है, और एक फ़ील्ड जो किसी ऑब्जेक्ट प्रकार को लौटाता है, हमेशा उस विशेष प्रकार को वापस लौटाता है, भले ही दिए गए तर्कों के बावजूद
हालांकि, कुछ तरीके हैं जो आप कर सकते हैं कई अलग-अलग नामित फ़ील्ड बनाने की आवश्यकता से बचने के लिए समान परिणाम प्राप्त करें:
- ग्राफ़कुल फ़ील्ड में वैकल्पिक तर्क हो सकते हैं। उदाहरण के लिए यदि आप एक क्षेत्र
individuals
कहा जाता है, तो आप वैकल्पिक तर्क उदाहरण के लिए, फिल्टर के विभिन्न प्रकार की आपूर्ति करने के लिए उपयोग कर सकते हैं: individuals(search: "Dan")
या individuals(status: "admin")
, या individuals
(कोई तर्क के साथ) या individuals(status: "admin", search: "Dan")
(दोनों एक ही बार में प्रदान किए गए तर्कों
- GraphQL। फ़ील्ड कई ऑब्जेक्ट प्रकारों का एक संघ वापस कर सकते हैं। इसलिए यदि आपका क्षेत्र कई अलग-अलग प्रकार की चीजें वापस कर सकता है, तो आप एक यूनियन का उपयोग कर सकते हैं। यह खोज में उदाहरण के उदाहरण में प्रदर्शित होता है: http://graphql.org/learn/schema/#union-types दुर्भाग्य से यह यहां लागू नहीं होता है क्योंकि आप यहां से आवेदन नहीं कर सकते ऑब्जेक्ट प्रकार के साथ सरणी का एक संघ नहीं है।
कई मामलों में, आपको कई फ़ील्ड बनाने की आवश्यकता होगी क्योंकि Gra phQL में वर्तमान में विधि अधिभार या बहुरूपता नहीं है।
मुझे यकीन नहीं है कि "क्वेरी नाम" से आपका क्या मतलब है - क्या आप रूट क्वेरी प्रकार पर फ़ील्ड नाम का जिक्र कर रहे हैं? – stubailo
यह यहां बताया गया है http://graphql.org/learn/queries/ उपर्युक्त उदाहरणों में, क्वेरी नाम "व्यक्तियों" –