Sobes.tech
Назад к вопросам
Junior — Middle
68

Объясните основные компоненты и принципы работы Retrofit для взаимодействия с REST API.

Компании, где спрашивали
IBS

Ответ от нейросети

sobes.tech AI

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

Основные компоненты:

  • Интерфейс API — описывает методы с аннотациями (@GET, @POST и т.д.), указывающими тип запроса и путь.
  • Converter — преобразует JSON или другой формат ответа в объекты (например, GsonConverter).
  • Call — объект, представляющий запрос, который можно выполнить синхронно или асинхронно.

Принцип работы:

  1. Создаёте интерфейс с методами и аннотациями.
  2. Создаёте экземпляр Retrofit с базовым URL и конвертером.
  3. Получаете реализацию интерфейса через Retrofit.
  4. Вызываете методы, получая 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) {
        // обработка ошибки
    }
})