Android Retrofit - 如何覆盖baseUrl

时间:2016-01-20 18:36:12

标签: android retrofit

在改装适配器中,我使用了基本网址来进行所有通话。这样:

  Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com")
    .build();

GitHubService service = retrofit.create(GitHubService.class);

让我们说上面是我的代码,我现在所有的调用都使用baseUrl。但是对于一个特定的调用,我想要更改基本URL,我不想为此创建另一个休息适配器,因为它仅用于本地测试。我可以更改界面中的终点可能不使用baseurl,或者是否有注释来提供我自己的基本URL?

2 个答案:

答案 0 :(得分:27)

您可以使用@Url注释来提供完整的完整网址。 E.G。

@GET
Call<GitHubUser> getUser(@Url String url);

答案 1 :(得分:11)

在retrofi2中,@ GET中的路径会覆盖基本URL。

 @GET("https://someurl/api/supermarkets")
 Observable<List<TechIndex>> getTechIndexList();

请求将发送到&#34; someurl / api /.."无论基本网址是什么。 希望它有所帮助