繁体   English   中英

使用 json 正文和多部分文件数组的 PUT 请求

[英]PUT request with json Body and multipart files array

我有一个使用 PUT 方法更新员工的 rest java 网络服务。

web 服务应获取文件列表和包含要更新的信息的 json。

该方法具有以下签名

@RequestMapping(value = "/employees/{employeeId}", method = RequestMethod.PUT, consumes = 
 MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<?> updateEmployee(
         @RequestPart EmployeeUserUpdateDto employeeDto,
         @PathVariable("employeeId") int employeeId,
         @RequestPart MultipartFile[] uploadedFiles, BindingResult bindingResult)

当我使用 postman 测试此请求时,如下所示,它说我的 json 不存在:

在此处输入图像描述

PS:我有一个类似的添加员工的发布请求,使用相同的配置工作得很好,两个请求之间的唯一区别是路径变量和 PUT 不是 POST

添加方法:@ResponseBody

您可以像这样在 dto 包装器中获取多部分请求:

@PutMapping("/upload-poc")
  ResponseEntity<?> uploadFileWithData(@ModelAttribute TestModel model){
    log.info("File Exist: {}",model.getImage().get(0).getOriginalFilename());
    log.info("Data: {}", model);
    return new ResponseEntity<>(HttpStatus.OK);
  }


@Getter
@Setter
@ToString
class TestModel{
  private List<MultipartFile> images;

  //@NotNull(message = "Name must be provided")
  @Size(min = 2, max = 6)
  private String name;

  private Long id;
}

我在一个请求中上传 3 个文件。

这是邮递员请求示例:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM