У меня есть код сервера (служба отдыха) в Java:
@GET
@Path("/Trip/PDF/{tripId}")
@Produces("application/pdf")
public javax.ws.rs.core.Response getPdf(@PathParam("tripId") Integer tripId) throws Exception {
...
byte[] pdf = null;
...
javax.ws.rs.core.Response.ResponseBuilder responseBuilder = javax.ws.rs.core.Response.ok((Object) pdf);
responseBuilder.type("application/pdf");
responseBuilder.header("Content-Disposition", "filename=tripPdf.pdf");
return responseBuilder.build();
Используя URL-адрес непосредственно в браузере, я могу увидеть сгенерированный PDF, но
при попытке вызвать url из angular я ничего не получаю (запуск кода java).
Звонок из интерфейса:
<a (click)="generateTripPdf(data.trip.id)" href="#" target="_blank">
Сервисный звонок (tripId доступен):
generateTripPdf(tripId) {
this.documentService.getTripPdf(tripId);
}
Услуга:
const httpOptionsPdf = {
headers: new HttpHeaders({ 'Accept': 'application/pdf', 'Content-Type': 'application/pdf' })
};
@Injectable()
export class DocumentService {
...
constructor(private http: HttpClient) { }
...
public getTripPdf(tripId) {
return this.http.get<any>(`${this.baseUrl}/Doc/Trip/PDF/${tripId}`, httpOptionsPdf);
}
Есть идеи, как заставить это работать?