2015-09-18 13 views
7

मैं ग्राफिक्यूएल इंटरफ़ेस के साथ ग्राफ़क्यूएल का उपयोग करके एक साधारण उत्परिवर्तन करने की कोशिश कर रहा हूं। मेरे उत्परिवर्तन इस तरह दिखता है:ग्राफक्लुएल उत्परिवर्तन चर

mutation M($name: String) { 
    addGroup(name:$name) { 
    id, 
    name 
    } 
} 
चर के साथ

:

{ 
    "name": "ben" 
} 

लेकिन यह मुझे त्रुटि देता है: यदि मैं mutation M($name: String = "default") यह काम करता है के रूप में उम्मीद करने के लिए अपने उत्परिवर्तन बदलने Variable $name of type "String" used in position expecting type "String!"

। ऐसा लगता है कि यह टाइप सिस्टम से संबंधित है, लेकिन मुझे यह पता लगाना प्रतीत नहीं होता कि समस्या क्या है।

उत्तर

6

आपने शायद इनपुट नाम को गैर-नल स्ट्रिंग के रूप में परिभाषित किया है (जेएस सर्वर का उपयोग करते हुए कुछ लिंक type: new GraphQLNonNull(GraphQLString), या String! सादा ग्राफ़QL में)।

तो उत्परिवर्तन में आपका इनपुट मेल खाना चाहिए, जिसका अर्थ है कि एक गैर-शून्य स्ट्रिंग भी होनी चाहिए। आप निम्नलिखित में बदलते हैं, काम करना चाहिए:

mutation M($name: String!) { 
    addGroup(name:$name) { 
    id, 
    name 
    } 
} 

इसके अलावा यदि आप एक डिफ़ॉल्ट मान निर्धारित के रूप में तुमने किया था, यह बाद से आप एक गैर अशक्त स्ट्रिंग हो।

अंत में, आप सर्वर में एक गैर-शून्य होने की आवश्यकता को छोड़ सकते हैं।

0

मैं तुम्हें में लगता है addGroup() उत्परिवर्तन नाम के लिए आर्ग प्रकार String! कि है new GraphQLNonNull(GraphQLString) की है, लेकिन अपने उत्परिवर्तन में आप String किस प्रकार प्रणाली का विरोध के रूप में निर्दिष्ट करें।

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