HTTP API — Retrofit

Для отправки запросов серверу и получение ответа будем использовать библиотеки Retrofit2 и Gson. Подключаем библиотеки.

build.gradle:

А запросы будем отправлять для получения данных из игры World of Warcraft.

Для получения ответов нужно передавать серверу уникальный apikey, поэтому регистрируемся. В качестве примера будем получать список классов персонажа и описание квеста по его идентификатору.

Запрашиваем список классов персонажа:

Ответ:

Запрашиваем квест:

Ответ:

Ответ с ошибкой:

Теперь создадим для них соответствующие классы:

Интерфейс для запросов к серверу:

И наконец реализация клиентского API:

Метод call.enqueue() используется для асинхронного запроса (т.е. ответ приходит не как результат работы метода, а возвращается через интерфейс). Для синхронного запроса нужно использовать метод call.execute() и выполнять его не в главном потоке.

Для удобства будем использовать Api как синглтон.

Используем:

 

Ссылки:

  1. Retrofit
  2. Retrofit 2 — Upgrade Guide from 1.9
  3. dev.battle.net
  4. WOW API Docs
  5. Data Binding

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *