我试过这个界面:
public interface InterfaceWs
{
@GET("/?extract-mode=bestdeals&api-key={apikey}") public Observable<List<ModelBestDeals>> getBestDeals(@Query("apikey") String apikey);
}
Run Code Online (Sandbox Code Playgroud)
在使用之前,@Query
我正在使用@Path
. 我更改它并收到此错误:
URL query string "extract-mode=bestdeals&api-key={apikey}" must not have replace block. For dynamic query parameters use @Query.
Run Code Online (Sandbox Code Playgroud)
怎么了 ?
@GET("/?extract-mode=bestdeals&api-key={apikey}") public Observable<List<ModelBestDeals>> getBestDeals(@Query("apikey") String apikey);
Run Code Online (Sandbox Code Playgroud)
应该
@GET("/?extract-mode=bestdeals") public Observable<List<ModelBestDeals>> getBestDeals(@Query("api-key") String apikey);
Run Code Online (Sandbox Code Playgroud)
改造将负责完成您的网址 api-key=value
,其中 value 是apikey
. 您还可以使用 QueryMap 来提供另一对extract-mode=bestdeals
。例如
Map<String, String> map = new HashMap<>();
map.put("extract-mode", "bestdeals");
map.put("api-key", apikey);
Run Code Online (Sandbox Code Playgroud)
和你的方法
@GET("/") public Observable<List<ModelBestDeals>>
getBestDeals(@QueryMap Map<String, String> values);
Run Code Online (Sandbox Code Playgroud)
在我看来,这是更具可读性的方式
归档时间: |
|
查看次数: |
1092 次 |
最近记录: |