Ответ
Retrofit Client — это HTTP-клиент для Android и Java, который преобразует REST API в Java/Kotlin интерфейсы. Он упрощает сетевые запросы, используя аннотации для определения эндпоинтов и параметров.
Ключевые особенности:
- Автоматическая сериализация/десериализация (например, JSON ↔ объекты через Gson/Moshi).
- Поддержка синхронных и асинхронных запросов (Call, Coroutines, RxJava).
- Гибкость: кастомизация через OkHttp Interceptors (логирование, авторизация).
Пример:
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 service = retrofit.create(ApiService::class.java)
val user = service.getUser(1) // Suspend-функция
Плюсы: Минимум boilerplate-кода, высокая читаемость, интеграция с популярными библиотеками.