Replace Moshi with kotlinx.serialization

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-11-07 11:15:54 +05:30
parent 43295a58eb
commit 84f45f523a
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
10 changed files with 40 additions and 52 deletions

View file

@ -1,18 +1,14 @@
plugins {
id("com.android.library")
kotlin("android")
kotlin("kapt")
kotlin("plugin.serialization") version "1.4.10"
`lobsters-plugin`
}
dependencies {
implementation(project(":model"))
implementation(Dependencies.ThirdParty.Retrofit.lib)
implementation(Dependencies.ThirdParty.Retrofit.moshi)
implementation(Dependencies.Kotlin.Serialization.json)
implementation(Dependencies.ThirdParty.retrofitSerialization)
kaptTest(Dependencies.ThirdParty.Moshi.codegen)
testImplementation(Dependencies.Testing.junit)
testImplementation(Dependencies.Kotlin.Coroutines.core)
testImplementation(Dependencies.Testing.mockWebServer)

View file

@ -1,13 +1,15 @@
package dev.msfjarvis.lobsters.api
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
import kotlinx.serialization.json.Json
import okhttp3.MediaType
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
object ApiClient {
inline fun <reified T> getClient(baseUrl: String): T {
return Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(MoshiConverterFactory.create())
.addConverterFactory(Json.asConverterFactory(MediaType.get("application/json")))
.build()
.create(T::class.java)
}