In the retrofit adapter i have used a base Url for all my calls. so:
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com") .build(); GitHubService service = retrofit.create(GitHubService.class);
Lets say the above is my code, all my calls now use that baseUrl. But for one particular call, i want to change the base url, I dont want to create another rest adapter for this,as its just for testing locally. Can i change the end points in the interface possibly to not use the baseurl , or is there a annotation to supply my own base url ?
you can use the
@Url annotation to provide the full complete url. E.G.
@GET Call<GitHubUser> getUser(@Url String url);
In retrofi2 the path in @GET overrides the base URL.
@GET("https://someurl/api/supermarkets") Observable<List<TechIndex>> getTechIndexList();
The request will be send to “someurl/api/..” no matter what base url is.
Hope it helps