cbr-client
Неофициальная Rust-библиотека для работы с API сервиса статистических данных Банка России:
https://www.cbr.ru/statistics/data-service/APIdocumentation/.
Установка
[]
= "0.1.1"
Пример (async)
use ;
async
Пример (blocking)
Для блокирующего клиента включите feature blocking:
[]
= { = "0.1.1", = ["blocking"] }
use ;
Пример: временной ряд USD/RUB
Готовый пример находится в examples/usd_rub_time_series.rs.
В модуле cbr_client::presets::fx доступны:
- константные пресеты (
SeriesPreset) - параметризованный runtime-резолвер:
resolve_fx_series(client, FxPeriodicity, FxMetric)resolve_fx_series_blocking(...)(с featureblocking)
Настройка клиента
use Duration;
use CbrClient;
let client = builder
.base_url
.timeout
.user_agent
.build?;
Advanced API (кастомные типы)
Если нужно десериализовать ответ сразу в собственную структуру, используйте generic-методы:
- async:
request_json<T>(path)иrequest_json_with_query<T, Q>(path, &query) - blocking (feature
blocking):request_json<T>(path)иrequest_json_with_query<T, Q>(path, &query)
path задаётся относительно base_url, ведущий / необязателен.
use ;
use CbrClient;
async
Работа через proxy
use CbrClient;
let client = builder
.proxy
// Использование системных proxy-переменных окружения:
//.use_system_proxy(true)
.build?;