我对Retrofit有一个问题。它会更改我尝试访问的网址。
我的界面是:
@GET("/movies/top_rated")
Call<ApiResponse<Movie>> getTopRatedMovies(@Query("api_key") String apiKey);
我的客户是:
public static final String BASE_URL = "http://api.themoviedb.org/3/";
private static Retrofit retrofit = null;
public static Retrofit getClient(){
if(retrofit == null){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
我的问题是我要从中检索数据的网站是
http://api.themoviedb.org/3/movies/top_rated?api_key=<<your_key>>
但Retrofit将其更改为
http://api.themoviedb.org/movies/top_rated?api_key=<<your_key>>
有关如何解决这个问题的想法吗?
答案 0 :(得分:2)
我认为您需要替换:
@GET("/movies/top_rated")
使用:
@GET("movies/top_rated")
答案 1 :(得分:1)
基本上,Retrofit对注释的前导斜杠的作用是protocol + domain + annotation
。这就是你所看到的。
如果没有注释中的前导斜杠,则路径将直接附加到基本URL。
例如,在网页设计中,您会发现在访问HTML中的CSS和Javascript资源时存在类似的问题。