如何在Dto中添加Multipart列表并用postman命中

问题描述 投票:0回答:1

问题陈述: 创建 Rest API,它处理测试类列表,并且对于列表中存在的每个对象,都有多部分 pdf 文件列表,

**我目前是如何做的**

我创建了下面的测试类

package com.practiceJPA.springDataJPA.controller;

import lombok.Data;

@Data
public class Test {

   private String emailId;
   private String firstName;
}

和控制器类

    @PostMapping("/fileDto")
    public ResponseEntity<?> test(@RequestPart List<MultipartFile> files,@RequestPart List<Test> dto) {
        
        for (Test studentSpecificDto : dto) {
            System.out.println(studentSpecificDto);
        }
        
        for (MultipartFile file : files) {
        System.out.println(file.getOriginalFilename());
        }
        
        return ResponseEntity.ok("submited");
    }
    

我正在从邮递员处触发此 API,如下图所示

attaching files with same key to pass in list Dto in form data

Api 工作正常,但在将文件列表与对象映射时造成麻烦!!!

我想要实现的是,获取同一 dto 中的多部分列表,其中键作为对象名称

@Data
public class Test {
    
    private String emailId;
    private String firstName;
    private List<MultipartFile> files;


}

这将使一切变得更容易,但我不知道如何实现它,如何从邮递员中访问如此复杂的API

java spring-boot postman httprequest multipartfile
1个回答
0
投票

尝试这样使用:

@PostMapping("/fileDto")
public ResponseEntity<?> test(@RequestBody List<Test> dto) {
    for (Test test : dto) {
        System.out.println("Email: " + test.getEmailId());
        System.out.println("First Name: " + test.getFirstName());
    
    for (MultipartFile file : test.getFiles()) {
            System.out.println("File Name: " + file.getOriginalFilename());

        }
    }

    return ResponseEntity.ok("Submitted");
}

更新课程:

    @Data
    public class Test {
    private String emailId;
    private String firstName;
    private List<MultipartFile> files;  
}
© www.soinside.com 2019 - 2024. All rights reserved.