Работал ли с Retrofit

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

Ответ

Да, работал. Retrofit — популярная библиотека для работы с сетевыми запросами в Android. Она упрощает взаимодействие с REST API, преобразуя HTTP-запросы в Java/Kotlin-интерфейсы.

Пример:

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

val retrofit = Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val api = retrofit.create(ApiService::class.java)
val user = api.getUser(1) // suspend-функция для корутин

Плюсы:

  • Удобный синтаксис (аннотации)
  • Поддержка корутин, RxJava, LiveData
  • Конвертация JSON в объекты (Gson, Moshi)
  • Возможность кастомизации (OkHttp Interceptors)

Работал с обработкой ошибок, кешированием, добавлением заголовков и мультипарт-запросами.