[Apache POI] Contrôleur / Service AngularJS pour déclencher le téléchargement
Bonjour à tous,
j'essaie d'implémenter une nouvelle fonctionnalité dans l'interface de mon application et j'ai beaucoup de mal à lier mon contrôleur et mon service Js et mon backend Java.
Je ne suis pas très fort en AngularJS, j'ai fait de nombreuses recherches mais les exemples pertinent sont en typescript :mur:
Si vous pouvez me donner un petit coup de main ou me renvoyer vers un exemple qui correspond à mes technos, c'est super sympa !
je souhaite donner la possibilité à un utilisateur de télécharger au format Excel une liste d'élève en fonction des critères choisis.
Côté html, pas de gros problème :
Code:
1 2 3
| <button type="button" class="btn btn-info"
ng-click="eleves.checkCriteria(form.$valid) && eleves.downloadEleves()"
translate>DOWNLOAD_EXCEL</button> |
Pour le contrôleur, petit message d'attente et appel au service :
Code:
1 2 3 4
| vm.downloadEleves = function () {
vm.message.showSpinner("EN_ATTENTE_DU_TELECHARGEMENT");
vm.eleveResourceService.findElevesToDownload();
}; |
Mon service appelle l'API REST:
Code:
1 2 3 4 5 6
| findElevesToDownload: {
method: "GET",
url: "api/eleves/export/excel",
params: {},
isArray: true
} |
Côté back end, normalement pas de gros souci :
Code:
1 2 3 4 5 6 7 8 9 10
| @PermitAll
@RequestMapping(value = "/export/eleve", method = GET)
@ApiOperation(value = "Download eleves in excel format")
public ResponseEntity<InputStreamResource> exportExcel() throws IOException {
ByteArrayInputStream file = eleveExcelExporter.productsExcelReport(elevesList);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "inline; filename=ExcelFile.xlsx");
return ResponseEntity.ok().headers(headers).body(new InputStreamResource(file));
} |
J'ai surtout un manque de compétence pour le service et le contrôleur AngularJs.
Si vous avez une piste, c'est avec plaisir !
Merci beaucoup par avance !