Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Java клиента к MOEX ISS

License

NotificationsYou must be signed in to change notification settings

dvigal/moex2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Что это?

Реализация Java клиента к интерфейсуИнформационного-статистического сервера Московской Биржи

Почему moex2?

Следующая генерация библиотекиmoex

Особенности реализации

  • Большая часть кода (99%) сгенерирована с помощью библиотекиJavapoet
  • Запросы конструируются через цепочку вызовов методов (Fluent API), например:
varhistory =client        .iss()        .history()        .engines()        .engine("stock")        .markets()        .market("shares")        .boards()        .board("TQBR")        .securities()        .security("sber")        .format().json()// Выбираем формат JSON        .get(Map.of("from","2020-01-03","till","2020-10-03"));// Задаем параметры и выполняем запрос

Начало работы

Создание экземпляра клиента

importru.exdata.moex.IssClientBuilder;varclient =IssClientBuilder.builder().build()

Форматы ответов

Согласно официальной документации, формат в котором необходимо получить данные, указывается в конце основной частиURL через точку и поддерживаются XML, CSV, JSON, HTML.

Клиент, предоставляет способ выбрать нужный формат следующим образом:

// str - объект класса Stringvarstr =issClient.iss().index().format().asIs().get();// json - объект класса Responsevarjson =issClient.iss().index().format().json().get();// xml - объект класса Stringvarxml =issClient.iss().index().format().xml().get();// csv - объект класса Stringvarcsv =issClient.iss().index().format().csv().get();// html - объект класса Stringvarhtml =issClient.iss().index().format().html().get();

Конструирование запроса

Рассмотрим работу библиотеки на примере запроса получения истории по одной бумаге на фондовом рынке

Параметры запроса

Параметры передаются в методget, как экземпляр объекта класса, реализующего интерфейсjava.lang.Map<K,V>

varrequest =client        .iss()        .history()        .engines()        .engine("stock")        .markets()        .market("shares")        .securities()        .security("MOEX")        .format()        .json();// Экземпляр объекта класса Responsevarresponse =request.get(Map.of("from","2022-10-10","till","2022-10-14"));

Пагинация

Как следует из документацииMOEX ISS

Для некоторых запросов также доступен специальный блок данных "cursor",указывающий текущую позицию отдаваемый данных относительно всего объёмаданных, доступных по этому запросу.

Поэтому, для навигации по страницам, нужно использовать объект Qursor,получить который можно с помощью методаqursor у объекта классаResponse.

response    .cursor()    .filter(Cursor::hasNext)    .map(cursor ->request.get(Map.of("start",String.valueOf(cursor.nextIndex()),"from","2020-01-03","till","2022-10-03"    )));

Поддерживаемые запросы

Всего 143 метода

Подключение к проекту

Maven
<dependency>  <groupId>ru.ex-data</groupId>  <artifactId>moex2</artifactId>  <version>1.0.0</version></dependency>
Gradle
implementation'ru.ex-data:moex2:1.0.0'

Донат

Сказать "Спасибо" можно тутdonationalerts

donationalerts

About

Java клиента к MOEX ISS

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp