问题
使用Retrofit2一般都是针对于一baseURL,其它接口都是拼接不同的参数如get/photo,search?name=xiaohong&&sex=female,这样的形式。但是一些请求此时又要访问不同的url只能重新生成一个Retrofit2实例,实质上还有一种形式去处理,就是使用@url注解。
解决方案
public interface UserService { @GETpublic Call profilePicture(@Url String url);
}
上面的@url 可以接收https://s3.amazon.com/profile-picture/path,所以使用如下
Retrofit retrofit = Retrofit.Builder() .baseUrl("https://your.api.url/");.build();UserService service = retrofit.create(UserService.class);
service.profilePicture("https://s3.amazon.com/profile-picture/path");// request url results in:
// https://s3.amazon.com/profile-picture/path
参考链接
Retrofit 2 - Dynamic URL
Retrofit 2 — How to Use Dynamic Urls for Requests