Мне нужно подключиться к серверу с помощью веб-API и получить все записи. Однако сервер предоставляет максимум 100 записей данных (разбивка на страницы) и подсказку, как получить следующий пакет. Как правильно реализовать это с помощью WSO2 EI?
Использование штатных посредников здесь не работает. Я пытался использовать посредник Script и выполнять запросы в Ruby (или, если быть более точным, в пакете JRuby, который использует WSO2), - но я должен был бы использовать Ruby Gem для обработки JSON (который, похоже, не работает для меня).
Возможно ли для WSO2 EI также использовать Ruby Gems?
Или кто-нибудь может придумать другое решение моей проблемы (которое не обязательно требует написания собственного посредника с Java)?
Пример ответа API (ограничено 2 записями одновременно)
{
"result": {
"data": [
{
"id": 1,
"title": "Test"
},
{
"id": 2,
"title": "Test 2"
}
],
"cursor": {
"limit": "2",
"after": "2",
"before": null
}
}
}
cursor.after
- это идентификатор последних данных в этом запросе. Вызов HTTP URL с параметром после = 2 выберет следующие 2 записи. Если новых записей нет, cursor.after
- это null
.