Retrofit changing the URL



我对Retrofit有一个问题。它改变了我试图访问的URL。

我的接口是:

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

有什么办法解决这个问题吗?

我认为你需要替换:

@GET("/movies/top_rated")

:

@GET("movies/top_rated")

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

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

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

相关内容

最新更新