Мне нужно вызвать сторонний API с загрузкой PDF. когда я нажимаю на запрос от почтальона, я вижу, что mimeType - это «application / pdf», но когда я вызываю тот же API из моего кода, mimeType выглядит как «application / octet-stream».
Может кто-нибудь помочь мне настроить правильный mimeType.
public Boolean uploadApplicantDocument(UUID customerId, UUID applicantId) {
String url = "https://hookb.in/OeEomZeKRjcyVylWxWZW";
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", API_TOKEN);
List<DocumentsResponse> list = documentsClient.getDocuments(customerId);
for(DocumentsResponse d : list){
try {
S3Object s3Object = s3FileManagementService.getS3Document((d.filePathKey);
ByteArrayResource contentsAsResource = new ByteArrayResource(IOUtils.toByteArray(s3Object.getObjectContent())) {
@Override
public String getFilename()
{
return filename;
}
};
MultiValueMap<String, Object> request = new LinkedMultiValueMap<>();
request.add("file", contentsAsResource);
restTemplateExecutor.executeMultipartFormDataPostRequest(url, request, headers, Object.class);
} catch (Exception e) {
log.info("Failed to submit document for applicantId: " + applicantId);
return false;
}
}
return true;
}
public <T> T executeMultipartFormDataPostRequest(String url, MultiValueMap<String, Object> request, HttpHeaders httpHeaders, Class<T> responseClass){
log.info("invoking the postMultipartFormDataRequest with url = " + url + " responseClass = " + responseClass);
HttpEntity<MultiValueMap<String, Object>> requestEntity
= new HttpEntity(request, httpHeaders);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> result = restTemplate
.postForEntity(url, requestEntity, String.class);
log.debug("Response from Server: " + result.getBody() + " with Status : " + result.getStatusCode().toString());
return gson.fromJson(result.getBody(), responseClass);
}