2014-10-09 29 views
5

Retrofit kullanarak toplu işlem yapmak istiyorum. Oraya nasıl ulaşacağın güzel bir yolu var mı? Temel olarak, yapmaya çalıştığım şey, URL'nin sorgu kısmındaki bazı karakterleri değiştirmektir (değiştir bloğu yalnızca URL'nin yol bölümünde izinlidir - @Path ek açıklamasını kullanarak).Retrofit kullanarak toplu iş talebi

İşte benim sorunum için bir sözdizimi kodudur.

@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); 

cevap

9

@Query Aradığınız ne: Orijinal Söz konusu @Path kullanmaya kalkışan için Recommended (serbest dün) istisna mesajının sürümü 1.7.0 yılında

@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); 

olarak talimat doğru çözüm:

URL sorgu dizesi "client_id = {client_id} & client_secret = {client_secret} & v = {v} & ll = {ll} & intent = {intent} & limit = {limit} "bloğun yerine sahip olmamalıdır. Dinamik sorgu parametreleri için @ Query kullanın.

+0

Teşekkürler! 1.6.0'daydım, bu yüzden '@ Query'yi kullanabileceğim bilgi almadım. – sealskej

İlgili konular