Pracuję nad projektem, którego celem jest zastąpienie naszego obecnego generatora PDF serwerem JasperReports. Plan zakłada użycie interfejsu API REST/HTTP w celu osiągnięcia wysokiego poziomu abstrakcji między systemami.Przekazywanie treści podczas generowania raportu JasperServer za pomocą interfejsu API REST
Optymalnie, nie chcemy pozwolić JasperReports Server wyciągnąć dane z bazy danych, ponieważ byłoby to ominąć istniejące logowania i autoryzacji w architekturze aplikacji wywołującego. Zamiast tego chcielibyśmy rozpocząć od wyodrębnienia treści w aplikacji wywołującej, a następnie przekazać tę zawartość do serwera JasperReports.
Zrobiliśmy sporo dochodzenie, a brak odpowiednich wyników wskazuje, że nie jest jak zwykle użyć JasperReports Server. Parametry wejściowe w tutorialach, które znaleźliśmy, są zazwyczaj wartościami skalarnymi (liczbami całkowitymi, boolami lub łańcuchami), a nie złożonymi strukturami lub obiektami. Co więcej, wydaje się, że mniej więcej każda próbka zakłada, że chcesz, aby serwer JasperReports łączył się z bazą danych.
Jeśli jest to możliwe, aby przejść w złożonych struktur (takich jak tablica mapy, gdzie niektóre elementy mapie tablice lub mapuje się), co jest najlepsze praktyki dla tej operacji? Nie mam pojęcia, jak taka struktura powinna być sformatowana w treści żądania. Czy interfejs API SOAP jest lepiej dopasowany?
Jeśli nie jest to w ogóle jak należy zaprojektować rozwiązanie serwerowe JasperReports, jakie alternatywne produkty/rozwiązania są bardziej odpowiednie?
Z góry dziękuję za wszelkie dane wejściowe.
Możesz użyć operatora 'get' do pobrania pliku szablonu raportu (JRXML). Następnie możesz przekazać do raportu wszystko, co chcesz (za pomocą API JasperReports). Na przykład możesz przekazać komponent Bean jako źródło danych lub przekazać Map jako parametr. –
Dzięki za odpowiedź Alex. Jak napisałem poniżej, postanowiłem zastosować inne podejście. Niezależnie od tego, nie jestem pewien, widzę, punkt, w celu pobrania JRXML za pomocą interfejsu API HTTP ... – MaxH