मैं ग्राफक्लुएल के लिए नया हूं लेकिन मैं थोड़ी देर के लिए रेट्रोफिट का उपयोग कर रहा हूं और इसका उपयोग करना आसान और तेज़ है। ग्राफ़क्यूएल डेटा पास करने के तरीके के संदर्भ में आराम एपीआई से काफी अलग है। एंड्रॉइड के साथ ग्राफक्लुएल का उपयोग करने पर वास्तव में बहुत सारे ट्यूटोरियल नहीं हैं, मैं केवल इस वीडियो को ढूंढने में सक्षम था (https://www.youtube.com/watch?v=P0uJHI7GjIc&t=1s) लेकिन वहां कोई वास्तविक कोड नहीं है।एंड्रॉइड पर रेट्रोफिट के साथ ग्राफQL का उपयोग कैसे करें?
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(endPoint)
.build();
T service = restAdapter.create(clazz);
तो मैं इस तरह एक आराम सेवा को कॉल:
@GET("https://stackoverflow.com/users/{login}")
Observable<Github> getUser(@Path("login") String login);
GraphQL साथ
अब आप केवल एक है
पुराना वापस कॉल के लिए अपने मौजूदा कोड में मैं एक अंतबिंदु मैं बहुत की तरह सेट किया है आधार यूआरएल और कोई सेवा पथ नहीं है। आप userId तरह जानना चाहते हैं इसके अलावा, अगर = 1 तो आप शारीरिक मापदंडों के साथ पोस्ट के रूप में भेजने के लिए:
operationName: arbitrary name ,
query: "{users(userid:$userId){username}},
variables: "{"userId":1}"
मैं बस यकीन नहीं है कि यह कैसे
आप युक्त एक JSON शरीर बनाने के लिए की आवश्यकता होगी अपने ' क्वेरी', 'ऑपरेशननाम', और 'वेरिएबल्स', फिर पोस्ट करने के लिए रेट्रोफिट की व्यवस्था करें जो जेएसओएन सर्वर पर अपने नामित ग्राफक्लुएल यूआरएल में है। मैं इस बात से असहज हूं कि ग्राफक्लु के लिए ओकेएचटीपी और जीसन का उपयोग करने पर रेट्रोफिट का अधिक लाभ होगा। – CommonsWare
ठीक है, मैं यहां देखता हूं कि रेट्रोफिट के लिए JSON बॉडी कैसे बनाएं: http://stackoverflow.com/questions/21398598/how-to-post-raw-whole-json-in-the-body-of-a-retrofit- निवेदन। लेकिन पोस्ट पथ क्या होना चाहिए? i.e: मेरे पास केवल मेरे ग्राफ़क्ल सर्वर के लिए बेस यूआरएल है। – Mike6679
"लेकिन पोस्ट पथ क्या होना चाहिए" - एक ग्राफक्यूएल सर्वर में आमतौर पर एक एंडपॉइंट होता है। तो, आपके पास पहले से मौजूद मूल URL का उपयोग करें, खासकर यदि यह '/ graphql' में समाप्त होता है। – CommonsWare