我正在尝试通过jasperserver上的java rest api v7.2.0上传报告和这些报告的资源。
我发现可以像这样上传图像:
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替换已经存在的图像?
[确定,我发现了如何使用其余api在Jasper服务器上«更新»资源文件。
[如果有人去检查其余api的定义,您会发现他们使用POST进行创建,并使用PUT进行更新。]
问题是,java rest客户端库仅提供了仅使用POST的方法,您必须找到一种方法来通过调用put来切换post的调用。