使用Postman对@RequestPart和HttpServletRequest组合传参方式
方法代码如下:
/**
* 发布
*/@ApiOperation("发布")@ApiImplicitParams({@ApiImplicitParam(name ="req", value ="json格式", dataType ="Map", dataTypeClass =Map.class),@ApiImplicitParam(name ="file", value ="文件", dataType ="File", dataTypeClass =File.class)})@PostMapping("/publish")publicAjaxResultpublish(@Validated@RequestPart("req")BizDemandInfo entity,HttpServletRequest request)throwsIOException{List<MultipartFile> fileList =((MultipartHttpServletRequest) request).getFiles("file");// 限制上传文件大小,单位是字节finallongMAX_FILE_SIZE=10*1024*1024;// 10MB// 限制上传文件的数量finalintMAX_FILES=5;List<BizDemandAttachment> attachmentList =newArrayList<>();if(!fileList.isEmpty()){//上传文件数不能大于5if(fileList.size()>MAX_FILES){
log.error("上传文件数不能大于5");returnAjaxResult.error("上传文件数不能大于5");}for(MultipartFile file : fileList){//每个文件不能大于10Mif(file.getSize()>MAX_FILE_SIZE){
log.error("每个文件不能大于10M");returnAjaxResult.error("每个文件不能大于10M");}String url =FileUploadUtils.uploadMinio(Constants.MINIO_BUCKET_NAME_DEMAND, file);String fileName = file.getOriginalFilename();BizDemandAttachment attachment =newBizDemandAttachment();
attachment.setAttachmentName(fileName);
attachment.setAttachmentUrl(url);
attachmentList.add(attachment);}}
entity.setBizDemandAttachmentList(attachmentList);String createBy =getUsername();
entity.setCreateBy(createBy);String id = service.insert(entity);returnStringUtils.isNoneBlank(id)?AjaxResult.success(id):AjaxResult.error();}
想使用postman对entity和request参数传参,应该怎么传呢?
传参方法:
直接上图片
因为参数entity是@RequestPart(“req”) BizDemandInfo entity,所以名称得填req。最重要的是Content-Type要填application/json
里面的内容直接填json串就可以了。
版权归原作者 水巷石子 所有, 如有侵权,请联系我们删除。