У меня есть следующий метод контроллера:
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE, path = "/upload")
public Mono<SomeResponse> saveEnhanced(@RequestPart("file") Mono<FilePart> file) {
return documentService.save(file);
}
, который вызывает сервисный метод, в котором я пытаюсь использовать WebClient для помещения некоторых данных в другое приложение:
public Mono<SomeResponse> save(Mono<FilePart> file) {
MultipartBodyBuilder bodyBuilder = new MultipartBodyBuilder();
bodyBuilder.asyncPart("file", file, FilePart.class);
bodyBuilder.part("identifiers", "some static content");
return WebClient.create("some-url").put()
.uri("/remote-path")
.syncBody(bodyBuilder.build())
.retrieve()
.bodyToMono(SomeResponse.class);
}
но я получаю ошибку:
org.springframework.core.codec.CodecException: No suitable writer found for part: file
Я перепробовал все варианты MultipartBodyBuilder (part, asyncpart, с или без заголовков) и не могу заставить его работать.
Я неправильно это использую, чего мне не хватает?
С уважением,
Alex