更改网址

时间:2016-11-12 00:48:10

标签: java android retrofit2

我对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>>

有关如何解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:2)

我认为您需要替换:

@GET("/movies/top_rated")

使用:

@GET("movies/top_rated")

答案 1 :(得分:1)

基本上,Retrofit对注释的前导斜杠的作用是protocol + domain + annotation。这就是你所看到的。

如果没有注释中的前导斜杠,则路径将直接附加到基本URL。

例如,在网页设计中,您会发现在访问HTML中的CSS和Javascript资源时存在类似的问题。