0
我想創建一個URI,其中MultipartFile
和表單對象(bean)都是必需的。具有@RequestPart參數的表單對象導致404
的方法用下面的代碼工作:
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void create(@RequestPart MultipartFile file,
@RequestPart String form) {
// ...
}
而下面捲曲命令:
curl -X POST http://localhost/files \
-F [email protected]:\path\to\file \
-F form={"x":0,"y":0,"width":512,"height":512}
但只要我試圖通過一個bean來替換字符串,我得到一個404響應。
修改後的代碼,不工作,用豆:
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void create(@RequestPart MultipartFile file,
@RequestPart ClipForm form) {
// ...
}
添加每個部分的Content-Type頭在捲曲似乎並沒有幫助:
curl -X POST http://localhost/files \
-F [email protected]:\path\to\file;type=multipart/form-data \
-F form={"x":0,"y":0,"width":512,"height":512};type=application/json
我大概錯過了一些讓Spring認爲請求沒有映射到這個方法的東西,但是到目前爲止我無法得到什麼。
不應該在你的捲曲字符串中使用'Content-Type'嗎? –
不,'type'用於指定多部分請求的部件的內容類型。請參見[cURL手冊頁](https://curl.haxx.se/docs/manpage.html#-F)。 – kagmole
在你的請求映射中你沒有指定'/ files'部分 - 它應該如何映射? –