Le service ReportingService expose différentes opérations que vous pouvez effectuer concernant les rapports OpenSearch Dashboards.
getAll
: permet de récupérer tous les rapports du scope courant.create
: crée une liste de rapports. La liste des rapports à ajouter doit être fournie en entrée et ceux-ci seront ensuite créés dans l’application.get
: récupère les rapports recherchés à partir de la liste de leurs ID.update
: met à jour une liste de rapports à partir de leur ID. La nouvelle version de ces rapports doit être fournie en entrée.delete
: supprime les rapports voulus à partir de leur ID.
Récupération de rapport
Les exemples suivants indiquent comment récupérer des rapports OpenSearch Dashboards en utilisant les différentes opérations de récupération.
Récupération de tous les rapports :
GET {{core}}/rest/report/ HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private ReportingService service;
public List<Report> getAllReports() throws TechnicalException, FunctionalException
{
return service.getAll();
}
Récupération de rapports par ID :
GET {{core}}/rest/report/{ids} HTTP/1.1
-- Paramètres d'URL
core: host de FlowerDocs core
ids: identifiants des rapports à récupérer
-- Headers
token: {{token}}
Content-Type: application/json
@Autowired
private ReportingService service;
public List<Report> get() throws TechnicalException, FunctionalException
{
return service.get(Lists.newArrayList(new Id("reportId")));
}
Création de rapport
Les exemples suivants montrent comment créer des rapports en utilisant l’opération de création.
Création de rapports :
POST {{core}}/rest/report HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
--Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[
{
"ACL": "ACL_Report",
"displayNames": [
{
"language": "FR",
"value": "nouveau rapport"
},
{
"language": "EN",
"value": "new report"
}
],
"id": "reportId",
"name": "newReport",
"url": "url"
}
]
@Autowired
private ReportingService service;
public List<Report> create() throws FunctionalException, TechnicalException
{
Report report = new Report(new Id("reportId"),
Lists.newArrayList(new I18NLabel("nouveau rapport", "FR"), new I18NLabel("new report", "EN")),
new Id("ACL_Report"), "newReport", "url");
List<Report> reports = Lists.newArrayList(report);
return service.create(reports);
}
Modification de rapport
Les exemples suivants montrent comment mettre à jour des rapports en utilisant l’opération de mise à jour.
Mise à jour de rapports par ID :
PUT {{core}}/rest/report/{ids} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids : identifiants des rapports à modifier
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[
{
"ACL": "ACL_Report",
"displayNames": [
{
"language": "FR",
"value": "rapport mis à jour"
},
{
"language": "EN",
"value": "updated report"
}
],
"id": "reportId",
"name": "updatedReport",
"url": "url"
}
]
@Autowired
private ReportingService service;
public List<Report> update() throws FunctionalException, TechnicalException
{
Report report = new Report(new Id("reportId"),
Lists.newArrayList(new I18NLabel("rapport mis à jour", "FR"), new I18NLabel("updated report", "EN")),
new Id("ACL_Report"), "updatedReport", "url");
List<Report> reports = Lists.newArrayList(report);
return service.update(reports);
}