Android Retrofit - как переопределить baseUrl
в адаптере дооснащения я использовал базовый Url для всех моих вызовов. Итак:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.build();
GitHubService service = retrofit.create(GitHubService.class);
допустим, что это мой код, все мои вызовы теперь используют этот baseUrl. Но для одного конкретного вызова я хочу изменить базовый url-адрес, я не хочу создавать для этого другой адаптер rest,так как он предназначен только для локального тестирования. Могу ли я изменить конечные точки в интерфейсе , чтобы не использовать baseurl, или есть аннотация для предоставления моего собственного базового url-адреса ?
2 ответов
можно использовать @Url
аннотация предоставить полный URL-адрес. Г. Е.
@GET
Call<GitHubUser> getUser(@Url String url);
в retrofi2 путь в @GET переопределяет базовый URL.
@GET("https://someurl/api/supermarkets")
Observable<List<TechIndex>> getTechIndexList();
запрос будет отправлен в " someurl / api/.."независимо от того, какой базовый url. Надеюсь, это поможет