Как выполнить GET запрос с помощью Retrofit

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

Ответ

Для выполнения GET-запроса с Retrofit нужно:

  1. Создать интерфейс с аннотациями:
interface ApiService {
    @GET("users/{id}")
    suspend fun getUser(@Path("id") userId: Int): User

    @GET("posts")
    suspend fun getPosts(@Query("userId") userId: Int): List<Post>
}
  1. Создать экземпляр Retrofit:
val retrofit = Retrofit.Builder()
    .baseUrl("https://jsonplaceholder.typicode.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val apiService = retrofit.create(ApiService::class.java)
  1. Вызвать метод (в корутине):
try {
    val user = apiService.getUser(1)
    val posts = apiService.getPosts(user.id)
} catch (e: Exception) {
    // Обработка ошибок
}

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

  • @GET - указывает метод запроса
  • @Path - подставляет значение в URL
  • @Query - добавляет параметры запроса
  • Используйте suspend функции для корутин