DIVlNATOR 7 Posted April 22, 2020 (edited) Доброго времени суток сообщество! Недавно мне необходимо было поработать с WGPAPI, но для удобства работы с получением данных, я не нашел ни одной подходящей библиотеки написанной на Java (Либо плохо искал). Решил исправить это. Представляю вам свой небольшой проект: Java SDK для работы с Wargaming.net Public API Приступая к работе Перед началом работы с Wargaming.net Public API, ознакомьтесь с условиями использования и документацией. Далее вам необходимо зарегистрировать приложение. Для регистрации необходимо: Войти в кабинет разработчика Перейти в раздел "Мои приложения" Нажать "Добавить приложение" (На экране появится форма для регистрации приложения). Выбрать тип приложения. См. Типы приложений. Ввести название приложения (Когда произведён вход в приложение, его название будет отображено на странице «Сеансы» в «Личном кабинете» пользователя). Нажать "Добавить приложение" (На экране появится список добавленных приложений). После успешной регистрации приложения вы получите идентификатор приложения (Далее по тесту "application_id"), который является идентификатором вашего приложения для обращения к API. Для получения контента WG Public API регистрация приложения является обязательной. См. Использование application_id. Предварительные условия Java JDK 1.8 или новее Maven 3.3.9 или новее WgClientApi 1.0.0 или новее Зависимости проекта Расширение для WgApiClient использует: WgClientApi 1.0.0 или новее Документация проекта Документация проекта доступна тут. Установка Можно взять от сюда: Добавить в файл "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 April 24, 2020 by DIVlNATOR 2 Quote Share this post Link to post Short link Share on other sites