猿问

使用不同密钥的多个多部分休息呼叫

我正在尝试使用in调用POST服务multipart form-data@RequestPartSpringBoot


下面是可以与多个一起正常工作的代码@RequestPart


@PostMapping(value = "/saveDetails", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)

public void saveDetails(@RequestPart("profileImage") MultipartFile profileImage,@RequestPart("addressImage") MultipartFile addressImage, @RequestPart("requestData") String requestData) {

    try {

        if(CommonUtils.isObjectNullOrEmpty(requestData) || CommonUtils.isObjectNullOrEmpty(profileImage) || CommonUtils.isObjectNullOrEmpty(addressImage)){

            logger.warn("Data Should not be null ==>");

        }

        detailSaveService.saveOrUpdateDetails(profileImage, addressImage,requestData);


    } catch (Exception e) {

        logger.error("Error while saving profile Details ==>", e);

    }

}

我需要改进我的代码@RequestPart需要一个参数来使用不同的键(profileImage和addressImage)上传多个文件。


有什么建议吗?请帮忙。


潇湘沐
浏览 128回答 1
1回答

不负相思意

我有适合您的解决方案,请检查@ModelAttribute请Spring-boot检查以下示例使用 getter setter 创建类并为所有不同的关键参数添加数据成员,请参考下面的示例class FileUploadRequest  {   private MultipartFile profileImage;   private MultipartFile addressImage;   private MultipartFile[] images; // you can use list or array   private String requestData; // you can use another pojo or Jsonobject   // add getter setter here...}在您的休息控制器中使用@ModelAttribute 并使用 MULTIPART_FORM_DATA_VALUE使用您的 HTTP 发布请求@PostMapping(value = "/saveDetails", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public void saveDetails(@ModelAttribute FileUploadRequest uploadRequest) {  try {      if(CommonUtils.isObjectNullOrEmpty(uploadRequest.getRequestData()) || CommonUtils.isObjectNullOrEmpty(uploadRequest.getProfileImage()) || CommonUtils.isObjectNullOrEmpty(uploadRequest.getAddressImage())){          logger.warn("Data Should not be null ==>");      } else {          detailSaveService.saveOrUpdateDetails(uploadRequest.getProfileImage()), uploadRequest.getAddressImage()),uploadRequest.getRequestData()));      }   } catch (Exception e) {       logger.error("Error while saving profile Details ==>", e);   }}    你可以参考这个链接示例@ModelAttributewith spring-bootwithangular希望对你有用
随时随地看视频慕课网APP

相关分类

Java
我要回答