Ниже приведен снимок API в почтальоне, который Я пытаюсь позвонить с помощью RestTemplate

Теперь, чтобы вызвать этот API, я написал код, который использует RestTemplate для вызова этого API.
Чтобы собрать Multipart изображение , я создал простой класс bean-компонента, который имеет одночленную переменную Private MultipartFile image; с ее методами получения и установки.
Код: Выделить всё
public class ImageClass implements Serializable{
private static final long serialVersionUID = 1L;
private MultipartFile image;
public MultipartFile getImage() {
return image;
}
public void setImage(MultipartFile image) {
this.image = image;
}
}
Код: Выделить всё
@PutMapping(value="api/update/image/{id}")
public String uploadFile(@PathVariable(name = "id")String id, @ModelAttribute ImageClass imageClass) {
MultipartFile file = imageClass.getImage();
RestTemplate restTemplate = new RestTemplate();
String url = "http://172.18.5.19:8082/api/upload/image/23";
String accessToken = getCrmAccessToken();
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer "+accessToken);
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap parts =
new LinkedMultiValueMap();
try {
parts.add("image", new ByteArrayResource(file.getBytes()));
} catch (IOException e) {
e.printStackTrace();
}
HttpEntity requestEntity =
new HttpEntity(parts, headers);
ResponseEntity response =
restTemplate.exchange(url,
HttpMethod.PUT, requestEntity, String.class);
if (response != null && !response.getBody().trim().equals("")) {
return response.getBody();
}
return "error";
}
Код: Выделить всё
org.springframework.web.client.HttpClientErrorException$BadRequest: 400 : "{"timestamp":1727438078594,"status":400,"error":"Bad Request","path":"/api/upload/image/23"}"
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:103) ~[spring-web-6.0.9.jar:6.0.9]

Я даю правильные заголовки. Для этого требуется токен на предъявителя (нет проблем при генерации токена-носителя), все остальные API работают нормально с этим кодом генерации токена-носителя. Только этот API вызывает проблему. Что мне делать, чтобы решить эту проблему?
Я даже пытаюсь использовать окончательное изображение MultipartFile @RequestParam("image") вместо @modelAttribute. Но ответ будет тот же.
Подробнее здесь: https://stackoverflow.com/questions/790 ... sttemplate