Что используешь для сетевых запросов на текущей работе

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

Ответ

На текущем проекте для сетевых запросов используем Retrofit + OkHttp + Kotlin Coroutines.

Retrofit — основной клиент для REST API, с ним удобно описывать эндпоинты через интерфейсы:

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

OkHttp — для кастомизации клиента (логирование, interceptors, таймауты).
Coroutines — для асинхронных вызовов с отменой при очистке ViewModel/Scope.

Дополнительно:

  • Moshi для JSON-парсинга (легче Gson, поддерживает Kotlin null-safety).
  • Retrofit CallAdapter для обёртки ответов в Result<T> (упрощает обработку ошибок).

Если нужно кеширование — Room или OkHttp Cache. Для GraphQL — Apollo Android.