我的任务是从改造中获取客户列表。我尝试使用 List,但我想包含通用类 Result。这是在 Android 应用程序中。
这是我的api:
@Headers("Content-Type: application/json")
@GET("/clients")
suspend fun getClientsData(): ClientResponse
客户回应:
data class ClientResponse(
val success: Boolean,
val message: String
)
RepositoryImp:
override suspend fun getClientsData(): Result<String> {
return try {
val clients = clientTrackerApi.getClientsData()
if (clients.success){
Result.Success( errorMessage = "Clients fetched")
}
else{
Result.Error(errorMessage = clients.message)
}
}
catch (e: Exception){
Result.Error(errorMessage = e.message ?: "Problem")
}
}
通用结果类:
sealed class Result<T>(val data: T? = null, val errorMessage: String? = null) {
class Success<T>(data: T? = null, errorMessage: String? = null) : Result<T>(data, errorMessage)
class Error<T>(data: T? = null, errorMessage: String) : Result<T>(data, errorMessage)
class Loading<T> : Result<T>()
}
如何返回具有 ID、姓名、年龄等的结果? 因为我想进一步将它映射到 ClientEntity 并将客户列表存储到数据库。