2014-10-09 13 views
5

का उपयोग करके बैच अनुरोध मैं रेट्रोफिट का उपयोग करके बैच अनुरोध करना चाहता हूं। यह कोई अच्छा तरीका है, इसे कैसे प्राप्त करें? मूल रूप से जो मैं करने की कोशिश कर रहा हूं वह यूआरएल के प्रश्न भाग में कुछ पात्रों को प्रतिस्थापित करना है (प्रतिस्थापन को केवल यूआरएल के पथ भाग में ही अनुमति दी गई है - @Path एनोटेशन का उपयोग करके)।रेट्रोफिट

मेरी समस्या के लिए यहां एक छद्म कोड है।

@GET("/v2/multi?requests=/users/self,/venues/search?client_id={client_id}&client_secret={client_secret}&v={v}&ll={ll}&intent={intent}&limit={limit}") 
    ProfileSearchVenuesResponse searchVenuesAndProfiles(@ReplaceBy("client_id") String clientId, 
          @ReplaceBy("client_secret") String clientSecret, 
          @ReplaceBy("v") int version, 
          @ReplaceBy("ll") String location, 
          @ReplaceBy("intent") String intent, 
          @ReplaceBy("limit") int limit); 

उत्तर

9

@Query क्या आप के लिए देख रहे हैं: मूल प्रश्न में @Path उपयोग करने के लिए प्रयास करने के लिए

@GET("/v2/multi?requests=/users/self,/venues/search") 
ProfileSearchVenuesResponse searchVenuesAndProfiles(
    @Query("client_id") String clientId, 
    @Query("client_secret") String clientSecret, 
    @Query("v") int version, 
    @Query("ll") String location, 
    @Query("intent") String intent, 
    @Query("limit") int limit); 

रेट्रोफिट (जारी की कल) अपवाद संदेश के संस्करण 1.7.0 में के रूप में आप का निर्देश सही समाधान:

यूआरएल क्वेरी स्ट्रिंग "client_id = {} client_id & client_secret = {} client_secret & वी = {v} 0,123,ll = {ll} & इरादा = {इरादा} & सीमा = {सीमा} "ब्लॉक को प्रतिस्थापित नहीं करना चाहिए। गतिशील क्वेरी पैरामीटर के लिए @Query का उपयोग करें।

+0

धन्यवाद! मैं 1.6.0 पर था, इसलिए मुझे जानकारी नहीं मिली कि मैं इसके लिए '@ क्वेरी' का उपयोग कर सकता हूं। – sealskej