Jump to content
Korean Random
DIVlNATOR

Java SDK для работы с Wargaming.net Public API

Recommended Posts

Posted (edited)

Доброго времени суток сообщество!

Недавно мне необходимо было поработать с WGPAPI, но для удобства работы с получением данных, я не нашел ни одной подходящей библиотеки написанной на Java (Либо плохо искал). Решил исправить это. Представляю вам свой небольшой проект:

 

Java SDK для работы с Wargaming.net Public API

Приступая к работе

Перед началом работы с Wargaming.net Public API, ознакомьтесь с условиями использования и документацией. Далее вам необходимо зарегистрировать приложение.

Для регистрации необходимо:

  1. Войти в кабинет разработчика
  2. Перейти в раздел "Мои приложения"
  3. Нажать "Добавить приложение" (На экране появится форма для регистрации приложения).
  4. Выбрать тип приложения. См. Типы приложений.
  5. Ввести название приложения (Когда произведён вход в приложение, его название будет отображено на странице «Сеансы» в «Личном кабинете» пользователя).
  6. Нажать "Добавить приложение" (На экране появится список добавленных приложений).
  7. После успешной регистрации приложения вы получите идентификатор приложения (Далее по тесту "application_id"), который является идентификатором вашего приложения для обращения к API.

Для получения контента WG Public API регистрация приложения является обязательной. См. Использование application_id.

 

Предварительные условия

 

Зависимости проекта

Расширение для WgApiClient использует:

 

Документация проекта

Документация проекта доступна тут.

 

Установка

Можно взять от сюда: Maven

Добавить в файл "pom.xml" вашего проекта следующую зависимость:

<dependency>
  <groupId>io.github.divinator.wgapi</groupId>.                                     
  <artifactId>wgapi-client-wot</artifactId>
  <version>LATEST_VERSION</version>
</dependency>

 

Использование

Доступно несколько возможностей сконструировать обьект:

  • Указать только "application_id"
WgApiClient client = new WgApiClient("application_id");
  • Указать "регион" и "application_id"
WgApiClient client = new WgApiClient(Region.RU, "application_id");
  • Указать "транспортный протокол", "регион" и "application_id"
WgApiClient client = new WgApiClient(new NetHttpTransport(), Region.RU, "application_id");

Указание собственного транспортного протокола возможно потребуется в случае, если работа клиента будет осуществляться через Proxy-сервер.

  • Далее необходимо инициализировать нужный "метод-блок", и у него вызвать нужный метод, с указанием параметров:
AccountsMethod methodBlock = client.getMethodBlock(AccountsMethod.class);

Map<String, AccountInformation> accountInfo = 
         methodBlock.getAccountInfo("DIVlNATOR", null, null, null);

Как вы успели уже заметить, в параметры метода можно передать значение "null". Переменные метода могут быть, как обязательные к заполнению, так и "null" (необязательные). Чтобы избавиться от "null", можно расширить нужный "метод-блок" и переопределить нужный метод.

  • Возвращаемое значение у методов "метод-блока" может быть нескольких типов:
<Entity>
List <Entity>
Map <String, Entity>
Map <String, List <Entity>>

Entity - это сущности Wargaming.net Public API (см. документацию) со своими методами.

Далее описан процесс получения нужных данных из "Entity", на примере "AccountInformation"

  AccountInformation accountInformation = accountInfo.get("3999999");
  accountInformation.getNickname();
  accountInformation.getAccountId();

Лицензия

Этот проект лицензируется в соответствии с лицензией Apache — подробности см. в файле LICENSE

Edited by DIVlNATOR
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...