2016-07-12 11 views
10

क्या कोई एडेप्टर है जो जेएसओएन स्कीमा स्कीमा (जैसे स्वैगर से) को ग्राफक्लुएल स्कीमा में परिवर्तित कर रहा है? REST http://graphql.org/blog/rest-api-graphql-wrapper/ के आसपास लपेटने के बारे में भी एक आधिकारिक लेख है, लेकिन आमतौर पर आरईएसटी पहले ही वर्णित है और स्वैगर इसके लिए सबसे लोकप्रिय प्रारूप है। यदि पहले से ही मौजूदा कार्यान्वयन है तो इसे स्वयं लिखना नहीं चाहेंगे।जेएसओएन स्कीमा को ग्राफक्लुएल स्कीमा कन्वर्टर्स

उत्तर

3

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

https://github.com/yarax/swagger-to-graphql

यह मूल रूप से GraphQL प्रकार के Swagger स्कीमा मानचित्रण करता है।

और वहाँ इस दृष्टिकोण और पुस्तकालय https://medium.com/@raxwunter/moving-existing-api-from-rest-to-graphql-205bab22c184

11

मैं वास्तव में कुछ महीने पहले इसे आजमाने में कुछ समय लगाता हूं। आप मेरी पोस्ट को यहां परिणामों का विवरण दे सकते हैं: https://medium.com/apollo-stack/will-graphql-replace-rest-documentation-f1a55092ef9d#.m50im46o0

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

यदि आप किसी JSON- स्वरूपित स्कीमा विवरण से प्रारंभ करना चाहते हैं, तो आपको केवल कुछ कोड लिखना है जो स्वैगर में आपके विभिन्न डेटा प्रकारों पर लूप करता है, और GraphQLObjectType ऑब्जेक्ट उत्पन्न करता है। आप ऊपर दिए गए ब्लॉग पोस्ट के लिए उदाहरण भंडार में इस के लिए एक सरल दृष्टिकोण देख सकते हैं: https://github.com/apollostack/swapi-rest-graphql/blob/951e50ec29732c93e7aa0bc6880210fdd1816a2f/schema.js#L28

असल में, आप डेटा के एक प्रारूप को दूसरे रूप में परिवर्तित कर रहे हैं, और फिर आपको डेटा के बीच कुछ संबंध जोड़ने की आवश्यकता है (विदेशी कुंजी, आईडी, और ऐसे), और एक प्रविष्टि बिंदु बनाने के लिए कुछ रूट क्वेरी जोड़ें। एक आरईएसटी एपीआई के मामले में, अक्सर यह समझ में आता है कि आपके एकल और एकाधिक संसाधन एंडपॉइंट्स आपके मूल क्वेरी फ़ील्ड के रूप में कार्य करते हैं।

+0

कूल बारे में एक लेख है! धन्यवाद, यह वही है जो मैं खोज रहा था –

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