@PutMapping(value = "/{id}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity
updateProfileDetails(@RequestPart("profile_details") UpdateProfileDetailsRequest updateProfileDetailsRequest,
@RequestPart("profile_image") MultipartFile profileImage,
@PathVariable("id") String profileId){
var updatedProfile = service.updateProfileDetails(new UpdateProfileDetailsRequest(),profileId);
return ResponseEntity.ok(updatedProfile);
}
И теперь приложение реагирования на внешний интерфейс использует этот API, отправляя Profile_details и Profile_image в formData, как показано ниже.
profile_details: {"email_id":"xxxxxxx@icloud.com"}
profile_image: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QBaRXhpZgAATU
Я могу видеть тело этого запроса в режиме проверки Chrome, а также он отправляет заголовок типа контента в виде данных формы
content-type: multipart/form-data; boundary=----WebKitFormBoundaryYBCGyw8abCFWMGh9
Но по какой-то причине приложение выходит из строя с ошибкой ниже, я не смог найти дополнительную информацию об использовании данных и файла JSON в одном API
[nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/octet-stream' is not supported]
Подробнее здесь: https://stackoverflow.com/questions/790 ... ile-and-js