Skip to content

Commit

Permalink
feat : KakaoApiFactory 추가 #7
Browse files Browse the repository at this point in the history
  • Loading branch information
SeonHwan-Kim committed May 10, 2023
1 parent a7043d3 commit 4d79397
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions app/src/main/java/org/android/go/sopt/data/remote/ApiFactory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ import kotlinx.serialization.json.Json
import okhttp3.MediaType.Companion.toMediaType
import org.android.go.sopt.BuildConfig
import org.android.go.sopt.data.remote.service.HomeUserService
import org.android.go.sopt.data.remote.service.KakaoSearchService
import org.android.go.sopt.data.remote.service.SignInService
import org.android.go.sopt.data.remote.service.SignUpService
import retrofit2.Retrofit
import retrofit2.create

object ApiFactory {
val retrofit: Retrofit by lazy {
Expand All @@ -32,8 +34,21 @@ object ReqresApiFactory {
inline fun <reified T> create(): T = retrofit.create<T>(T::class.java)
}

object KakaoApiFactory{
val retrofit: Retrofit by lazy {
val json = Json { ignoreUnknownKeys = true }
Retrofit.Builder()
.baseUrl(BuildConfig.KAKAO_BASE_URL)
.addConverterFactory(json.asConverterFactory("application/json".toMediaType()))
.build()
}

inline fun <reified T> create(): T = retrofit.create<T>(T::class.java)
}

object ServicePool {
val signUpService = ApiFactory.create<SignUpService>()
val signInService = ApiFactory.create<SignInService>()
val getHomeUserService = ReqresApiFactory.create<HomeUserService>()
val kakaoSearchService = KakaoApiFactory.create<KakaoSearchService>()
}

0 comments on commit 4d79397

Please sign in to comment.