Rest Api с использованием Retrofit в Android - PullRequest
0 голосов
/ 30 сентября 2019

Мой код

public interface ApiInterface 

{

    @GET("convert?q=USD_{currency}&compact=ultra&apiKey="+API_KEY)
    Call<Currency> getRates(@Path("currency") String currency );
}

Но я получаю следующую ошибку:

java.lang.IllegalArgumentException: URL query string "q=USD_{currency}&compact=ultra&apiKey=9b1166408fb8799dee9e" must not have replace block. For dynamic query parameters use @Query.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

сделайте ваш интерфейс таким:

@GET("convert")
Call<Currency> getRates(@Query("q") String query, @Query("compact") String compact, @Query("apiKey") String apiKey);

Вы можете назвать его так:

String mCurrency="$";

Call<Currency> call = mApiInterface.getRates("USD_"+mCurrency, "ultra", API_KEY);
0 голосов
/ 30 сентября 2019

Вам необходимо поместить параметры запроса в интерфейс следующим образом:

@GET("convert")
Call<Currency> getRates(@Query("q") String currency, @Query("compact") String compact, @Query("apiKey") String apiKey);
...