2016-06-26 13 views
8

मैं बैक एंड के लिए फ्रंट एंड और सी # के लिए जावास्क्रिप्ट के साथ एक वेब ऐप बनाना चाहता हूं और मैं ग्राफQL के मान को निर्धारित करना चाहता हूं।".NET के लिए ग्राफक्ल्यू" और "रिले" में स्कीमा को कैसे लिंक करें?

  • मेरे सी # बैक एंड के लिए मैं GraphQL for .NET नामक ग्राफिकल कार्यान्वयन का उपयोग करता हूं।
  • मेरे सामने के अंत के लिए, मैं Relay का उपयोग करना चाहूंगा क्योंकि यह ReactJS के साथ अच्छी तरह से खेलता है।

अब मेरी पीठ के अंत के लिए, मैं one of the examples में की तरह एक नमूना स्कीमा जो इस तरह दिखता है कार्यान्वित:

public class StarWarsSchema : Schema 
{ 
    public StarWarsSchema() 
    { 
     Query = new StarWarsQuery(); 
    } 
} 

मेरे सामने अंत में, मैं अब इस स्कीमा के बारे में किसी भी तरह रिले बताने के लिए की जरूरत है। कम से कम यह है कि मैं ट्यूटोरियल्स के माध्यम से चलते समय समझ गया, क्योंकि किसी कारण से ग्राफक्लुएल क्वेरी को पारदर्शी करने की आवश्यकता है।

class Content extends React.Component<ContentProps, { }> { 
    ... 
} 

export default Relay.createContainer(Content, { 
    fragments: { 
     viewer:() => Relay.QL` 
      fragment on User { 
       query HeroNameQuery { 
        droids { 
         id 
         name 
        } 
       } 
      } 
     `, 
    } 
}); 

रिले के लिए one of the examples में, मैंने देखा है कि babel-relay-plugin रूपांतरण के लिए प्रयोग किया जाता है: यह कैसे मैं सभी खड़े छोड़ लोड करने के लिए चाहते हैं के रूप में एक उदाहरण है। यह एक स्कीमा फ़ाइल (जेएसओएन) हो जाता है। Getting Started रिले शो की मार्गदर्शिका, ग्राफक्ल-जेएस और ग्राफक्ल-रिले-जेएस के साथ ऐसी स्कीमा कैसे बनाएं।

अब मेरे सवालों का:

  1. मैं वास्तव में इस मोर्चे पर और वापस अंत पर स्कीमा बनाने की जरूरत है?
  2. मेरी स्कीमा रिले को पढ़ाने का क्या मतलब है, क्योंकि बैक एंड पहले से ही अच्छी तरह से बनाए गए डेटा को वापस करने के लिए स्कीमा का उपयोग करता है?
  3. इस परिदृश्य में रिले का उपयोग करने से क्या फायदा है? जब मैं पैरामीटर के रूप में ग्राफक्ल्यू क्वेरी के साथ नियमित आरईएसटी एंडपॉइंट के माध्यम से बैकएंड तक पहुंचता हूं तो मैं क्या खो दूंगा?

उत्तर

5
  1. आप केवल बैकएंड पर स्कीमा की जरूरत है और आप इस दस्तावेज़ के निचले हिस्से में उदाहरण का उपयोग कर अपने बैकएंड से schema.json डाउनलोड कर सकते हैं: https://facebook.github.io/relay/docs/guides-babel-plugin.html
  2. रिले की जरूरत स्कीमा सही ढंग से क्वेरी बनाने के तरीके और के प्रकार को समझने डेटा वापस कर दिया।
  3. रिले आपके रिएक्ट घटकों को लपेटता है और प्रतिपादन के लिए सभी आवश्यक डेटा लाता है/प्रदान करता है। डेटा कैशिंग, क्वेरी समेकन जैसे बॉक्स से कई सुविधाएं हैं, इसलिए रिले के साथ आपको कुछ भी लाने की आवश्यकता नहीं है और आपके घटक को प्रदान किए गए डेटा के बारे में चिंता करने की आवश्यकता नहीं है, आपको केवल प्रश्न और घटक लिखने की आवश्यकता है।
+0

स्पष्टीकरण के लिए धन्यवाद। इस बीच मुझे एहसास हुआ कि GPQL प्रश्नों से फ्रंटएंड कोड बनाने के दौरान schema.json को पारदर्शी प्रक्रिया में आवश्यक है। –

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