java我们如何接受带有多部分的请求体?
我正试图用请求正文和四个多部分文件发出post请求
我已经分享了api
@PostMapping(value = "/deductee-master", consumes = MediaType.ALL_VALUE)
public ResponseEntity <DeducteeMaster> createDeductee(@RequestBody DeducteeMasterDTO deducteeMasterDTO, @RequestParam("trcFile") MultipartFile trcFile, @RequestParam("tenFFile") MultipartFile tenFFile, @RequestParam("wpeFile") MultipartFile wpeFile, @RequestParam("noPEFile") MultipartFile noPEFile)
throws InvalidKeyException, URISyntaxException, StorageException, IOException {
DeducteeMaster result = deducteeMasterService.save(deducteeMasterDTO, trcFile, tenFFile, wpeFile, noPEFile);
return ResponseEntity.created(new URI("/api/deductee-master/" + result.getKey().getId()))
.headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getKey().getId().toString()))
.body(result);
}
{ "timestamp": "2019-06-24T11:04:40.076+0000", "status": 415, "error": "Unsupported Media Type", "message": "Content type 'multipart/form-data;boundary=--------------------------603218794646006873131102;charset=UTF-8' not supported", "path": "/api/deductee-master" }
# 1 楼答案
使用
@RequestPart
,而且由于您试图同时发送RequestBody
和Files
,因此必须将其附加到FormData以发送数据如果你想用CurL进行测试
如果您通过Angular、React或任何javascript语言发送post请求,请尝试使用FormData。将数据附加到formData