2016-04-06 11 views
8

क्या ग्राफ़क्यूएल के पास क्लाइंट को सर्वर को यह बताने की संभावना है कि वह केवल फ़ील्ड चाहता है यदि वह फ़ील्ड null नहीं है?ग्राफक्ल्यू क्वेरी: केवल फ़ील्ड को शामिल करें यदि शून्य

क्वेरी

query HeroAndFriends { 
    hero { 
    name 
    friends { 
     name 
    } 
    } 
} 

प्रतिक्रिया तो GraphQL विनिर्देश उल्लंघन करने के बिना की तरह

{ 
    "data": { 
    "hero": { 
     "friends": [ 
     { 
      "name": "Luke Skywalker" 
     }, 
     { 
      "name": "Han Solo" 
     }, 
     { 
      "name": "Leia Organa" 
     } 
     ] 
    } 
    } 
} 
बजाय

{ 
    "data": { 
    "hero": { 
     "name": null, 
     "friends": [ 
     { 
      "name": "Luke Skywalker" 
     }, 
     { 
      "name": "Han Solo" 
     }, 
     { 
      "name": "Leia Organa" 
     } 
     ] 
    } 
    } 
} 

इस संभव है दिखना चाहिए देखते हुए?

+0

बस जानना उत्सुक है: इस व्यवहार का उपयोग-मामला क्या है? –

+1

@ अहमदफर्डसबिनअलम मेरे पास एक कोटलिन डेटा क्लास है जो डिफ़ॉल्ट (गैर-शून्य) मानों के साथ है जिसे मैं deserializing जब ओवरराइट नहीं करना चाहता। उपयोग के मामले के बारे में – FWeigl

+0

@ अहमद फर्डस, क्या होगा यदि सर्वर उन वस्तुओं के सरणी देता है जिनमें स्पैस डेटा है? जैसे प्रत्येक ऑब्जेक्ट में कई फ़ील्ड होते हैं, जिनमें से केवल कुछ जिनमें वास्तव में शून्य की बजाय कुछ होता है। एपीआई प्रतिक्रिया के समग्र आकार को कम करने के लिए उन क्षेत्रों को पेलोड से बाहर करना बेहतर नहीं होगा? – margaretkru

उत्तर

4

जहां तक ​​मुझे पता है कि यह संभव नहीं है, directives जैसे @skip और @include हैं। निर्देश लेकिन उन्हें एक चर की आवश्यकता है, मुझे लगता है कि आप ग्राफिक टीम के साथ अपना केस बना सकते हैं ताकि निर्देशों को विस्तारित किया जा सके, केवल फ़ील्ड को शामिल न किया जाए।

संबंधित मुद्दे