java - 如何使用多部分/表单数据?
问题描述
我需要实现一个 REST 端点,它接收
我使用的多部分/表单数据
- Spring Boot
- Kotlin
- Spring MVC
包含以下部分的多部分表单提交:
deployment-name ----- text/plain
enable-duplicate-filtering ----- text/plain
deploy-changed-only ----- text/plain
deployment-source ----- text/plain
tenant- id ----- text/plain
* ----- application/octet-stream
休息控制器看起来像这样:
@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--
有人可以帮忙吗?
解决方案
改造有关于FORM ENCODED AND MULTIPART
要点是用注释函数@Multipart
并将文件注释为@Part
推荐阅读
- angular - Angular 2+ path to static html
- java - GWT 2.7.0 with chrome version 69 not loading java source files
- c# - 以异步方法返回 Task.Run
- sql - SQL Server 将 X 行添加到结果以始终等于 5 行输出
- eclipse - Spring Tools Suite 4 下载失败,Eclipse Photon
- matlab - 如何反转 3D Barplot Matlab 中的一个轴
- html - 如何使用 CSS 在范围输入中设置最小值和最大值
- python - ^ 不支持的操作数类型:“str”和“int”异或解密
- scala - Scala案例类使用浅拷贝还是深拷贝?
- android - 前 21 个 API 设备上的改造 API 失败 javax.net.ssl.SSLProtocolException:SSL 握手中止: