【问题标题】:spring boot get file and list of objects from responsespring boot 从响应中获取文件和对象列表
【发布时间】:2018-12-19 12:33:14
【问题描述】:

我需要从一个 post-request 中获取文件和对象列表。这是我所做的:

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String uploadFile(@RequestParam("file") MultipartFile multipartFile,
                               @RequestBody ElementsParsePatternWrapperDTO parsingOrder)

ElementsParsePatternWrapperDTO:

public class ElementsParsePatternWrapperDTO {
private List<ElementParsePatternDTO> patterns;

List<ElementParsePatternDTO> getPatterns() {
    return patterns;
}

public void setPatterns(List<ElementParsePatternDTO> patterns) {
    this.patterns = patterns;
}

ElementParsePatternDTO(仅构造函数):

 public ElementParsePatternDTO(PresetsEnum preset) {
    elementParsePattern = FactoryPresetsElementParsePattern.getPreset(preset);
}

那么,我怎样才能将对象列表和文件都放入 json 请求中呢?另外,我需要使用ajax

【问题讨论】:

    标签: java json spring-mvc spring-boot request


    【解决方案1】:

    在您询问获取的问题中,但请求方法有参数,所以我想您需要上传文件和一些数据。 您可以将表单数据的命名参数与 json 编码的 dto 参数一起使用。例如

    @PostMapping("/uploadFile")
    public ResponseEntity saveWithFile(@RequestParam("data") String parsingOrderJson, @RequestPart("file") MultipartFile file) {
        ElementsParsePatternWrapperDTO dto = new Gson().fromJson(parsingOrderJson, ElementsParsePatternWrapperDTO.class);
    }
    

    Maven 依赖

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.8.2</version>
            </dependency>
    

    但这似乎不是一个很好的做法。保持简单。

    【讨论】:

      猜你喜欢
      • 2020-05-10
      • 2019-10-10
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多