Что такое Сonverters в Retrofit

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

Ответ

Converters в Retrofit отвечают за преобразование данных между форматами (например, JSON в объекты Kotlin/Java и обратно). Они работают на уровне RequestBody и ResponseBody.

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

  • GsonConverterFactory – для работы с JSON через Gson
  • MoshiConverterFactory – альтернатива Gson от Square
  • ScalarsConverterFactory – для примитивных типов (String, Int и т.д.)

Пример с Gson:

val retrofit = Retrofit.Builder()
    .baseUrl(BASE_URL)
    .addConverterFactory(GsonConverterFactory.create())
    .build()

Важно: порядок добавления конвертеров имеет значение – Retrofit использует первый подходящий. Можно создавать кастомные конвертеры, реализуя интерфейс Converter.Factory.