春季启动:上传几个MultipartFile以及几个其他数据

时间:2018-10-16 06:25:54

标签: spring spring-boot

我需要创建一个端点:

  1. 接收到N ItemType
  2. 接收1个GroupType

每个ItemType具有:

  1. 属性。
  2. MultipartFile

GroupType仅包含属性。

public class ItemType {
  private String description;
  private String security;
  private Date bestdate;
  private MultipartFile content;
}

public class GroupType {
  private String description;
  private String security;
  private String metadata;
}

所以,我的端点将是这样的:

public ResponseEntity<String> group(
    List<ItemType> items,
    GroupType group);

我不知道这是否是最好的方法。有些人想出了这种方法:

  1. GroupType.securityItemType.security呢?
  2. MultiPart个文件呢?

该端点怎么称呼?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是使用Multipart-FormData的解决方案。

启用多部分属性:

# MULTIPART (MultipartProperties)
spring.servlet.multipart.enabled=true # Enable multipart uploads
spring.servlet.multipart.max-file-size=200MB # Max file 
spring.servlet.multipart.max-request-size=215MB # Max Request Size

控制器:

@PostMapping(consumes = "multipart/form-data")
public ResponseEntity<String> uploadWithData(
        @RequestPart("itemTypes") List<ItemType> ,
        @RequestPart("group") Group group
        @RequestPart MultipartFile[] file) {
    // your code
}

ItemType将包含 文件名 字段,以允许将ItemType链接到上载的文件。