Retrofit2를 사용할 때 baseurl을 여러개 사용해야 할 때에는 retrofit2 객체를 그만큼 복수개 생성해주어야 한다.
(기본적으로 retrofit2객체는 싱글톤으로 생성하므로 baseurl을 동적으로 바꿀수 없다.)
private static Retrofit retrofit = null;
public static Retrofit getClient(String baseUrl) {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
private static Retrofit retrofit2 = null;
public static Retrofit getClient2(String baseUrl) {
if (retrofit2==null) {
retrofit2 = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit2;
}
-
public static ServiceProblemApi getServiceProblemApi() {
return RetrofitClient.getClient(BASE_URL_PROBLEM).create(ServiceProblemApi.class);
}
public static ServiceUserApi getServiceUserApi() {
return RetrofitClient.getClient2(BASE_URL_USER).create(ServiceUserApi.class);
}
코틀린의 경우 역시 마찬가지로 obejct 객체를 두개 생성해주면 된다.
'Android > Tips' 카테고리의 다른 글
Recyclerview adapter 재활용하기 (0) | 2021.11.15 |
---|---|
TabLayout (0) | 2021.11.15 |
ViewPager2 오버랩 화면전환 (pageTransformer) (0) | 2021.01.05 |
FCM 푸쉬 알림 보내기 (페이로드에 따른 data 전송문제) (0) | 2020.12.06 |
Retrofit2 MultiPart로 이미지 파일 전송하기 (Kotlin) (0) | 2020.12.02 |