我需要实现一个REST端点,该端点可以接收multipart / form-data
我用
-春季靴
-科特林
-Spring MVC
包含以下部分的多部分表单提交:
部署名称-----文本/纯文本
启用重复过滤-----文本/纯文本
仅部署更改的-----文本/纯文本
部署源-----文本/纯文本
租户ID -----文本/纯文本
* ----- application / octet-stream
Rest Controller的外观如下:
@PostMapping("/data/deployment/create")
fun uploadDmn(@RequestBody() file: Any){
}
收到请求后,出现错误:
内容类型'multipart / form-data; boundary = -------------------------- 914124725006223485188585; charset = UTF-8'不支持]
如果我使用“ MultipartFile”而不是任何文件,则文件为NULL。
@PostMapping("/data/deployment/create")
fun uploadDmn(@RequestBody() file: MultipartFile){
}
请求示例:
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="deployment-name"
aName
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="enable-duplicate-filtering"
true
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="deployment-source"
process application
--28319d96a8c54b529aa9159ad75edef9
Content-Disposition: form-data; name="data"; filename="test.bpmn"
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions ...>
<!-- BPMN 2.0 XML omitted -->
</bpmn2:definitions>
--28319d96a8c54b529aa9159ad75edef9--
有人可以帮忙吗?
答案 0 :(得分:0)
改装在FORM ENCODED AND MULTIPART
上有文档
要点是用@Multipart
注释功能并将文件注释为@Part
答案 1 :(得分:0)
您可以使用可以尝试的以下方法,
在“ @RequestMapping”中设置消耗块。
like,@RequestMapping(value =“ / abc”,消耗=“ multipart / form-data”,method = HTTPMethod.POST“)
使用@Multipart批注和文件对象作为@Part批注
使用@RequestPart代替@RequestBody。