2016-04-24 4 views
1

Abfrage in der Nachrüstung verwenden Hallo Ich versuche @Query in Retrofit zu verwenden, aber ich bin immer Fehler etwas wie folgt aus: -kann nicht

darf nicht Block ersetzen. Verwenden Sie für dynamische Abfrageparameter @Query.

hier ist meine Schnittstelle: -

public interface Parser { 

    @GET("weather?q={city}&appid=0a8") 
    Call<Model> getModel(@Query("city") String city); 
} 

Und das ist in meiner Aktivität: -

Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl("xyz/") 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 

Parser parser = retrofit.create(Parser.class); 
     Call<Model> call = parser.getModel("london"); 

Vielen Dank im Voraus

Antwort

0

In diesem Fall sollten Sie @Path anstelle von @Query

public interface Parser { 

    @GET("weather?q={city}&appid=0a8") 
    Call<Model> getModel(@Path("city") String city); 
} 
1

wenn Ihre api Abfrage sein sollte -

BASE_URL/weather?q=london&appid=0a8 

Dann

@GET("weather") 
Call<Model> getModel(@Query("q") String city,@Query("appid") String app_id); 
+0

Große Antwort verwenden - für den vollen Satz von "@Query" Möglichkeiten - siehe die Abfrage javadoc: http: // square.github.io/retrofit/2.x/retrofit/ –