Я работаю над проектом, целью которого является замена нашего текущего генератора PDF на JasperReports Server. Планируется использовать API REST/HTTP для достижения высокого уровня абстракции между системами.Передача содержимого при генерации отчета JasperServer с использованием API REST
Оптимально мы не хотим, чтобы JasperReports Server извлекал данные из базы данных, поскольку это обойдется существующим протоколированием и авторизацией в архитектуре вызывающего приложения. Вместо этого мы хотели бы начать с извлечения содержимого в вызывающем приложении, а затем передать этот контент на сервер JasperReports.
Мы провели довольно много исследований, и отсутствие соответствующих результатов указывает, что это не так, как вы обычно используете JasperReports Server. Входные параметры в найденных нами учебниках обычно представляют собой скалярные значения (целые числа, булевы или строки), а не сложные структуры или объекты. Более того, кажется, что более или менее каждый пример предполагает, что вы хотите, чтобы сервер JasperReports подключался к базе данных.
Если возможно передать сложные структуры (например, массив карт, где некоторые элементы карты являются массивами или самими картами), что лучше всего подходит для этого? Я не знаю, как такая структура должна быть отформатирована в теле запроса. Является ли SOAP API лучше подходит?
Если это совсем не то, как вы должны проектировать решение JasperReports Server, какие альтернативные продукты/решения более подходят?
Заранее благодарим за любой ввод.
Вы можете использовать оператор 'get' для получения файла шаблона отчета (JRXML). После этого вы можете передать отчет всем, что хотите (с помощью JasperReports API). Например, вы можете передать Bean в качестве источника данных или передать Map как параметр. –
Спасибо за ваш ответ Алекс. Как я только что написал ниже, я решил пойти с другим подходом. Несмотря ни на что, я не уверен, что вижу смысл в получении JRXML с помощью HTTP API ... – MaxH