【问题标题】:Rest Api using Retrofit in Android在 Android 中使用 Retrofit 的 Rest Api
【发布时间】:2019-10-01 19:05:13
【问题描述】:

我的代码

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}&amp;compact=ultra&amp;apiKey=9b1166408fb8799dee9e" must not have replace block. For dynamic query parameters use @Query.

【问题讨论】:

标签: java android retrofit retrofit2


【解决方案1】:

让你的界面像这样:

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

【讨论】:

    【解决方案2】:

    您需要将查询参数放在界面中,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 2017-09-22
      • 2014-08-07
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多