Intento pasar un archivo pdf como parte de la respuesta de un servicio rest para que al usuario se le descargue de forma inmediata
códigojava
@RequestMapping(value = "/add", method = RequestMethod.POST, produces = "application/pdf")
public ResponseEntity<Map<String, String>> addCategoria(@RequestBody facturaProductos factura, ResponseBuilder response) {
Map<String, String> value = new HashMap<>();
try {
String flag = pedidoService.add(factura);
if (!flag.equals("fallo")) {
File file = new File(flag);
response = Response.ok(file);
response.header("Content-Disposition", "attachment; filename=factura.pdf");
value.put("value", "Actuallizado");
return new ResponseEntity<>(value, HttpStatus.OK);
} else {
return null;
}
} catch (Exception e) {
System.out.println(e);
value.put("value", "ErrorActualizar");
return new ResponseEntity<>(value, HttpStatus.CONFLICT);
}
}
códigoAngular
add(factura: FacturaProductos): Observable<String> {
return this.http.post<String >('http://localhost:8080/carrito.compras.web/rest/pedido/add', factura, httpOptions)
.pipe(
tap(succes => {
console.log("RESPONSE", succes);
console.log('Factura terminada');
},
error=> console.log("ERROR", error))
)