我工作的应用程序必须为每个用户使用不同的Base URL。基本上,用户有自己的服务器,在应用程序中,他必须在文本字段中指定他的服务器的IP地址,以便应用程序可以开始对该服务器进行HTTP请求。
当我创建Retrofit实例时,它需要一个基本URL,但现在我可以从UI访问它,因为用户必须从文本字段手动输入基本URL。
作为一种解决方法,当我创建Retrofit实例时,我只是通过Google作为基础URL,然后使用@URL注释来传递整个URL,但据我所知@URL注释仅限于GET和POST请求。
return new Retrofit.Builder()
.baseUrl("https://google.com")
.build();
是否有更好的方法来实现这一点,或者我应该坚持@URL注释?
谢谢你的时间!
您可以在调用
时添加参数getApiService(userBaseUrl : string){
....
....
return new Retrofit.Builder()
.baseUrl(userBaseUrl)
.build();
}