Что возвращает метод интерфейса Retrofit

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

Ответ

Методы интерфейса Retrofit возвращают Call<T> или другие типы, в зависимости от используемого адаптера (например, Observable<T> для RxJava или Deferred<T> для Kotlin Coroutines).

Пример:

interface ApiService {
    @GET("users/{id}")
    fun getUser(@Path("id") userId: String): Call<User>
}

Здесь getUser() возвращает Call<User>, который можно выполнить синхронно (execute()) или асинхронно (enqueue()).

Для корутин можно использовать suspend:

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

Retrofit автоматически генерирует реализацию интерфейса, преобразуя аннотации в HTTP-запросы.