Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java rest调用中使用不同密钥的多个多部分_Java_Rest_Spring Boot_Multipartform Data - Fatal编程技术网

Java rest调用中使用不同密钥的多个多部分

Java rest调用中使用不同密钥的多个多部分,java,rest,spring-boot,multipartform-data,Java,Rest,Spring Boot,Multipartform Data,我正试图在SpringBoot中使用@RequestPart调用POST服务多部分表单数据 下面是多个@RequestPart @PostMapping(value = "/saveDetails", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public void saveDetails(@RequestPart("profileImage") MultipartFile profileImage,@RequestPart("address

我正试图在
SpringBoot
中使用
@RequestPart
调用
POST
服务
多部分表单数据

下面是多个
@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


有什么建议吗?请帮助。

我有一个解决方案,请查看
Spring boot
请查看下面的示例

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...
}
使用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...
}
在rest控制器中使用@ModelAttribute并使用带有多部分表单数据值的HTTP post请求

@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);
   }
}    
您可以使用
spring boot
angular


希望它对您有用

需要一个参数来上载多个文件
-是否在一个请求中?是@Avi在一个请求中上载多个文件,并且单个参数具有不同的文件键