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在一个请求中上载多个文件,并且单个参数具有不同的文件键