@JsonClass(generateAdapter = true)
data class DataModel(
@Json(name = "approfondimenti") val approfondimenti: List<Approfondimento>?,
@Json(name = "glossari") val glossari: List<Glossario>?,
@Json(name = "media") val media: List<Media>?,
@Json(name = "percorsi") val percorsi: List<Percorso>?,
@Json(name = "reperti") val reperti: List<Reperto>?,
@Json(name = "sale") val sale: List<Sala>?,
@Json(name = "servizi") val servizi: List<Servizio>?,
@Json(name = "sezioni") val sezioni: List<Sezione>?
)
@Serializable
class ErrorResponse
interface DataService {
@GET("/data.json") suspend fun getData(): NetworkResponse<DataModel, ErrorResponse>
}
fun makeRetrofitService(url: String): DataService {
val okHttpClient: OkHttpClient =
OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.build()
return Retrofit.Builder()
.baseUrl(url)
.addCallAdapterFactory(NetworkResponseAdapterFactory())
.addConverterFactory(MoshiConverterFactory.create())
.build()
.create(DataService::class.java)
}
I spent a lot of time trying to understand a the problem without success. Could you help me?