jackson Spring:如何将多部分/表单数据请求发布到Rabbit队列

mnemlml8  于 2022-11-08  发布在  Spring
关注(0)|答案(1)|浏览(112)

应用程序有一个使用multipart/form-data的端点,并将其Map到MultipartFile对象。从那里,我们尝试将文件上载到供应商。如果成功,除了HTTP.200系列之外,不会发生任何其他操作
如果出现故障,我们希望将消息发布到Rabbit Queue,其中消息中的字段包括“endpoint”、“data”、“header”等内容,这样我们就可以使用这些消息,并在以后访问端点。
问题是我不能反序列化MultipartFile。我也尝试过使用ByteArrayResource,但是得到错误No serializer found for class java.io.ByteArrayInputStream
有没有更好的方法?
此外,采用这种方法是因为有多个端点以不同的约定接收一个文件,因此能够复制请求而不具有逻辑,并且仅回调端点是理想的

**终极问题:**如何使用Jackson将值作为字符串写入ByteArrayResource或MultipartFile对象

yv5phkfx

yv5phkfx1#

将文件保存到磁盘并将路径发送到队列不是更容易吗?
在任何情况下,如果您加入转换子,ByteArrayResource都应该可以运作:

@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    MappingJackson2HttpMessageConverter converter = new 
    MappingJackson2HttpMessageConverter(mapper);
    return converter;
}

相关问题