У меня есть 2 службы ServiceA
и ServiceB
, ServiceB
имеет один API под названием createDocument(@RequestParam("file") MultipartFile file)
. Теперь я хочу вызвать этот API из ServiceA
, и я использую FeignClient
, и обе службы используют Spring Boot.
Мой FeignClient выглядит примерно так
@FeignClient(
name = "serviceB",
url = "com.serviceb.url",
configuration = {ServiceBErrorDecoder.class},
fallbackFactory = ServiceBFallbackFactory.class)
@Service
public interface ServiceB{
@PostMapping(value = "/documents")
ResponseEntity createDocument(@RequestParam("file") MultipartFile file);
}
И теперь в ServiceA я хочу назвать это createDocument
API. Я могу это сделать, но проблема в том, как я могу создать объект MultipartFile
и передать его? У меня есть объект InputStream
с некоторым содержимым, и я не хочу создавать физический файл.
Сервисный код
public void processObjects(Entity entity) throws JsonProcessingException {
SomeObject object = new SomeObject();
//setters
....
InputStream inputStream = new ByteArrayInputStream(
Objects.requireNonNull(SerializationUtils.serialize(object)));
InputStreamResource inputStreamResource = new InputStreamResource(inputStream);
//How do I create MultipartFile object from this InputStream?
serviceB.createDocument(**multipartfile**)
}
Пожалуйста помоги. Спасибо