专栏名称: 稀土掘金技术社区
掘金,一个帮助开发者成长的技术社区
今天看啥  ›  专栏  ›  稀土掘金技术社区

优雅地使用注解管理 Retrofit 的 baseUrl

稀土掘金技术社区  · 公众号  ·  · 2024-12-30 08:30
    

文章预览

点击 关注 公众号,“ 技术干货 ” 及时达! 前言 众所周知, Retrofit 的 baseUrl 在创建实例的时候就设定好了,之后不允许直接修改。但是我们实际项目中会存在需要改变 baseUrl 的情况,比如聚合了多个平台的数据会使用到多个 baseUrl ,还有做海外 app 要切换到更近的服务器等场景,这就得动态切换 baseUrl 。 目前主要有三种解决方案,但是都存在一些缺陷。 现有方案 使用多个 Retrofit 对象 通过 Retrofit#newBuilder() 函数可以拷贝出一个同样配置的 Retrofit 对象去修改 baseUrl 。 val otherRetrofit = retrofit.newBuilder() .baseUrl("xxxxx") .build() val api = otherRetrofit.create () 创建多个仅仅是 baseUrl 不一样的 Retrofit 对象太浪费资源,个人不建议这么来使用。 使用 @Url 注解 官方提供了 @Url 注解,修饰的参数只传入 paths ,比如 /xxx/xxxx ,就会拼上默认的 baseUrl 。 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览