Я пытаюсь загрузить объект Array of Multipart file, используя фиктивный клиент. Это служба, которую я пытаюсь вызвать с помощью клиента Feign.
public ResponseEntity<Object> manageFileUpload(@RequestParam("files") MultipartFile[] files)
Я пытался использовать аннотацию клиента Feign,
@FeignClient(value = "UPLOADUTILITIES", configuration = Upload.MultipartSupportConfig.class, fallback = UploadFallback.class)
Мой метод,
@RequestMapping(name = "upload", value = "/object", method = RequestMethod.POST)
@Headers("Content-Type: multipart/form-data")
ResponseEntity<Object> manageFileUpload(@Param("files") MultipartFile[] files);
Я был вознагражден ошибкой,
"message": "Type definition error: [simple type, class java.io.FileDescriptor]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.io.FileDescriptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile[0]->org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile[\"inputStream\"]->java.io.FileInputStream[\"fd\"])",
Затем, перейдя по этой ссылке.Я попробовал на своей стороне клиента код удара.
public class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
Затем в примере кода я изменил свой объект MultiPart File на File Object. Теперь мой запрос был запущен, но я получил Not a multipart request
.
Я пробовал это https://github.com/pcan/feign-client-test#feign-client-test,
Я создал класс и использовал класс кодировщика и изменил свой кодировщик на FeignSpringFormEncoder,
Тем не менее я получаю сообщение об ошибке "Сериализатор не найден".
Может ли кто-нибудь поделиться простым примером клиента, сервера с запросом файла Array of Multipart, используя feign cleint. Спасибо!