С какими API работал

«С какими API работал» — вопрос из категории Сети, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Мы использовали Retrofit с Kotlin Coroutines для асинхронных запросов. API описывали через интерфейсы с аннотациями, например:

interface ApiService {
    @GET("users/{id}")
    suspend fun getUser(@Path("id") userId: String): Response<User>
}

Для сериализации применяли Moshi (альтернатива Gson), так как он строже с типами и поддерживает Kotlin-фичи. Для обработки ошибок использовали sealed class:

sealed class Result<out T> {
    data class Success<T>(val data: T) : Result<T>()
    data class Error(val exception: Exception) : Result<Nothing>()
}

Также внедряли Interceptor для логирования и добавления заголовков.