Работал ли с REST API

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

Ответ

Да, работал с REST API в Android-приложениях. Использовал Retrofit, OkHttp и Moshi/Gson для сетевых запросов.

Пример с Retrofit:

interface ApiService {
    @GET("users/{id}")
    suspend fun getUser(@Path("id") userId: Int): User
}

val retrofit = Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .addConverterFactory(MoshiConverterFactory.create())
    .build()

val api = retrofit.create(ApiService::class.java)
val user = api.getUser(1) // suspend-функция в корутине

Ключевые моменты:

  • Обработка ошибок (HTTP-коды, сетевые исключения)
  • Сериализация/десериализация JSON
  • Аутентификация (OAuth, токены)
  • Кеширование и офлайн-режим (Room + Retrofit)
  • Оптимизация (пагинация, мультипарт-загрузки)