Замените ресурс изображения на jasperserver через Java REST API v7.2.0 - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь загрузить отчеты и ресурсы для этих отчетов через java rest api v7.2.0 на jasperserver.

Я обнаружил, что загрузить изображение можно следующим образом:

RestClientConfiguration configuration = new RestClientConfiguration("http://127.0.0.1:8082/jasperserver");
configuration.setLogHttp(true);
configuration.setLogHttpEntity(true);
configuration.setJrsVersion(JRSVersion.v6_1_0);
configuration.setRestrictedHttpMethods(false);

JasperserverRestClient client = new JasperserverRestClient(configuration);
Session session = client.authenticate("jasperadmin", "jasperadmin");

session.resourcesService().resource("/images").uploadFile(new File("logo.png"), ClientFile.FileType.img, "logo.png", "logo.png"));

Но этот точно такой же код не работает, если изображение уже существует, но я хотел бы перезаписать изображение, если оно должно быть обновлено.

Проблема в том, что я не могу удалить, а затем загрузить снова изображение, как если бы оно было указано в отчете, оно сгенерирует и выдаст ошибку.

Как заменить уже существующее изображение через остальные API?

1 Ответ

0 голосов
/ 15 февраля 2020

Хорошо, я нашел, как «обновить» файл ресурсов на сервере jasper, используя остальные API.

Если кто-то go проверит определение остальных API, вы увидите, что они используют POST для создания и PUT для обновления.

Проблема в том, что клиентская библиотека java rest предоставляет только метод, который будет использовать только POST, вам нужно найти способ, чтобы иметь метод для переключения вызова post по вызову на пут.

...