Advertisement
Guest User

Untitled

a guest
Jul 21st, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. @RequestMapping(value = "/pdf", method = RequestMethod.GET)
  2. public ResponseEntity<byte[]> getShelterStatusInPdf() {
  3. ResponseEntity<byte[]> response = restTemplate.getForEntity(REST_API_DOMAIN_BASE + "/export/pdf", byte[].class);
  4.  
  5. byte[] pdf = response.getBody();
  6.  
  7. HttpHeaders httpHeaders = generateHttpHeaders("pdf");
  8. httpHeaders.setContentLength(pdf.length);
  9.  
  10. return new ResponseEntity<>(pdf, httpHeaders, HttpStatus.OK);
  11. }
  12.  
  13. @RequestMapping(value = "/csv", method = RequestMethod.GET)
  14. public ResponseEntity<String> getShelterStatusInCsv() {
  15. ResponseEntity<String> response = restTemplate.getForEntity(REST_API_DOMAIN_BASE + "/export/csv", String.class);
  16.  
  17. String csv = response.getBody();
  18.  
  19. HttpHeaders httpHeaders = generateHttpHeaders("csv");
  20. httpHeaders.setContentLength(csv.length());
  21.  
  22. return new ResponseEntity<>(csv, httpHeaders, HttpStatus.OK);
  23. }
  24.  
  25. private HttpHeaders generateHttpHeaders(String fileFormat) {
  26. HttpHeaders httpHeaders = new HttpHeaders();
  27. switch(fileFormat) {
  28. case "PDF":
  29. case "pdf":
  30. httpHeaders.setContentType(MediaType.APPLICATION_PDF);
  31. httpHeaders.set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=status.pdf");
  32. break;
  33. case "CSV":
  34. case "csv":
  35. httpHeaders.setContentType(MediaType.TEXT_PLAIN);
  36. httpHeaders.set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=status.csv");
  37. break;
  38. default:
  39. throw new IllegalArgumentException("Unsupported file format!");
  40. }
  41.  
  42. return httpHeaders;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement