I am fetching the byte array using spring framework rest template, But I also need to fetch the Mediatype of this byte .
The mediaType of this bytearray can be of any type.
The code used now for fetching byte is below.
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.valueOf("application/pdf")));
ResponseEntity<byte[]> result = restTemp.exchange(url, HttpMethod.GET, entity, byte[].class,documentId);
The above code will fetch only pdf content type.
How to set the contentType to accept any generic MediaType because the service at the other end is providing any random MediaType for the byteArray.
Could someone please suggest how the MediaType can be fetched.
Any suggestions are welcome..
Just not send the accept
header to not force the server to return that content-type
. This is the same as sending a wildcard */*
//HttpHeaders headers = new HttpHeaders();
//headers.setAccept(Collections.singletonList(MediaType.WILDCARD));
ResponseEntity<byte[]> result = restTemp.exchange(url, HttpMethod.GET, entity, byte[].class,documentId);
After this, extract the content-type
from the headers of the response
byte body[] = result.getBody();
MediaType contentType = result.getHeaders().getContentType();