I need to parse data class from server request like this:
@JsonClass(generateAdapter = true)
data class User(
@Json(name = "user_name")
val userName: String,
@Json(name = "gender")
val gender: Gender?,
) {
enum class Gender {
@Json(name = "male")
MALE,
@Json(name = "female")
FEMALE,
}
}
I got this json from server:
{
"data":{
"user_name":"MyUserName",
"gender":null
}
}
But i have this error
com.squreup.moshi.JsonDataException: Expected a string but was NULL at path $.data.gender
Is there a way to fix this without changing server api?
UPD: The problem was in EnumJsonAdapter with unknown fallback:
Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.add(
User.Gender::class.java,
EnumJsonAdapter.create(User.Gender::class.java)
.withUnknownFallback(null)
)
.build()