如何将对象列表从Multipart参数绑定到objectMapper?

时间:2019-04-08 09:01:14

标签: java spring rest jackson

我的api收到一个参数MultipartFile。我无法将该文件与对象列表绑定?

我与.size(0)合作N

我尝试过:

Spring-boot 2.0.8

这:

Java 8

ObjectMapper不接受public ResponseEntity<Long> addReferenceByFile(HttpServletRequest request, @PathVariable String numeroLicence, @RequestParam("references") MultipartFile references) throws URISyntaxException { 数据。我的要求是获取要用于统一治疗的列表。

有人可以帮我找到解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用InputStreamReader来阅读多部分的InputStream

try (InputStream in = references.getInputStream()) {
    objectMapper.readValue(new InputStreamReader(in), Reference.class);
}

答案 1 :(得分:0)

I found the solution :

ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());
    try {
        TypeFactory typeFactory = objectMapper.getTypeFactory();
        CollectionType collectionType = typeFactory.constructCollectionType(
            List.class, Reference.class);
        List<Reference> referenceList = objectMapper.readValue(references.getInputStream(), collectionType);



    } catch (IOException e) {
        throw new CustomException(CustomError.ERROR_REFERENCE_FILE_BAD_FORMAT);
    }