Назад к вопросам
Junior — Middle
68
Объясните основные компоненты и принципы работы Retrofit для взаимодействия с REST API.
Компании, где спрашивали
IBS
Ответ от нейросети
sobes.tech AI
Retrofit — это библиотека для Android, которая упрощает работу с REST API. Она позволяет описывать HTTP-запросы в виде интерфейсов, а затем автоматически преобразует ответы в объекты Java/Kotlin.
Основные компоненты:
- Интерфейс API — описывает методы с аннотациями (@GET, @POST и т.д.), указывающими тип запроса и путь.
- Converter — преобразует JSON или другой формат ответа в объекты (например, GsonConverter).
- Call — объект, представляющий запрос, который можно выполнить синхронно или асинхронно.
Принцип работы:
- Создаёте интерфейс с методами и аннотациями.
- Создаёте экземпляр Retrofit с базовым URL и конвертером.
- Получаете реализацию интерфейса через Retrofit.
- Вызываете методы, получая Call, и выполняете запрос.
Пример:
interface ApiService {
@GET("users/{id}")
fun getUser(@Path("id") userId: String): Call<User>
}
val retrofit = Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val service = retrofit.create(ApiService::class.java)
val call = service.getUser("123")
call.enqueue(object : Callback<User> {
override fun onResponse(call: Call<User>, response: Response<User>) {
if (response.isSuccessful) {
val user = response.body()
// обработка пользователя
}
}
override fun onFailure(call: Call<User>, t: Throwable) {
// обработка ошибки
}
})