Что такое Adapters в Retrofit

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

Ответ

Adapters в Retrofit — это механизм для преобразования вызовов API в объекты, с которыми удобно работать. Они позволяют кастомизировать процесс обработки запросов и ответов.

Основные типы:

  • CallAdapter — преобразует Call<T> в другой тип, например LiveData<T> или Flow<T>.
  • Converter — сериализует/десериализует данные (например, JSON в объекты Kotlin).

Пример с CallAdapter для LiveData:

interface ApiService {
    @GET("users")
    fun getUsers(): LiveData<ApiResponse<List<User>>>
}

val retrofit = Retrofit.Builder()
    .addCallAdapterFactory(LiveDataCallAdapterFactory())
    .build()

Используются для интеграции с корутинами, RxJava и другими библиотеками.