Для чего нужны аннотации в Retrofit

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

Ответ

Аннотации в Retrofit используются для декларативного описания HTTP-запросов. Они упрощают конфигурацию, превращая интерфейс в работающий API-клиент.

Основные аннотации:

  • @GET, @POST и др. — определяют тип HTTP-запроса.
  • @Path — подставляет значение в URL (например, /users/{id}).
  • @Query — добавляет параметры запроса (?key=value).
  • @Body — передает объект как тело запроса (для POST/PUT).

Пример:

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

    @POST("users")
    suspend fun createUser(@Body user: User): Response<Unit>
}

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