Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IllegalArgumentException in Retrofit / must not have replace block

I have the following code :

    @GET("api.php?company_name={name}")
    Call<Model> getRoms_center(@Query("name") String name);

According to the official docs, I must use @Query, and i'm using it, but i'm getting the following error :

java.lang.IllegalArgumentException: URL query string "company_name={name}" must not have replace block. For dynamic query parameters use @Query.
like image 225
Jaeger Avatar asked Mar 12 '16 22:03

Jaeger


3 Answers

You should do it like that instead:

@GET("api.php")
Call<Model> getRoms_center(@Query("company_name") String name);
like image 56
Gaëtan Avatar answered Nov 03 '22 22:11

Gaëtan


Example URL is: http://service.com/movies/list?movie_lang=hindi

for that URL you can use this:

@GET("http://service.com/movies/list")
Single<JsonElement> getMovieList(@Query("movie_lang") String userLanguage);
like image 27
Narendra Avatar answered Nov 03 '22 22:11

Narendra


Example Url: https://api.pray.zone/v2/times/today.jsonlatitude=31.3952348&longitude=&elevation=2000&timeformat=1

to pass in retrofit for that URL you can use this:

@GET("today.json")
Call<SalahMainResponse> getSalahTiming(
    @Query("latitude") double latitude,
    @Query("longitude") double longitude,
    @Query("elevation") int elevation,
    @Query("timeformat") int timeformat
);
like image 39
waqar saleem Avatar answered Nov 04 '22 00:11

waqar saleem