Мне нужно использовать эти службы с сопрограммами
[{
"id": 646442,
"title": "Healthy Black Forest Baked Oatmeal"
},
{
"id": 637766,
"title": "Cherry Lime Mojito"
},]
И у меня есть этот класс для служб вызовов
class RemoteRepository @Inject constructor(private val serviceGenerator: ServiceGenerator) : Source {
override suspend fun requestRecipes(): Resource<RecipesModel> {
val recipeService = serviceGenerator.createService(RecipesService::class.java)
return when (val response = processCall(recipeService::fetchRecipes)) {
is RecipesModel -> {
Resource.Success(data = response)
}
else -> {
Resource.DataError(errorCode = response as Int)
}
}
}
private suspend fun processCall(responseCall: suspend () -> Response<*>): Any? {
if (!isConnected(App.context)) {
return NO_INTERNET_CONNECTION
}
return try {
val response = responseCall.invoke()
val responseCode = response.code()
if (response.isSuccessful) {
response.body()
} else {
responseCode
}
} catch (e: IOException) {
NETWORK_ERROR
}
}
}
У меня есть этот интерфейс с Retrofit
interface RecipesService {
@GET("recipes")
suspend fun fetchRecipes(): Response<RecipesModel>
}
и у меня есть эта модель
data class RecipesModel(
val RecipesItems: List<RecipeItem> = listOf()
)
Всегда эти строки
return when (val response = processCall(recipeService::fetchRecipes)) {
is RecipesModel -> {
Resource.Success(data = response)
}
else -> {
Resource.DataError(errorCode = response as Int)
}
}
ответить Ошибка
Как я могу проверить, что response.body совпадает с классом данных?