为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇湘沐 2023-06-08 17:11:54
我正在尝试使用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)上传多个文件。有什么建议吗?请帮忙。
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

我有适合您的解决方案,请检查@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


希望对你有用


查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信