簡體   English   中英

使用Spring Boot的Spring Rest:將MultipartFile和Json對象作為參數上傳

[英]Spring rest with Spring Boot: Upload MultipartFile and Json object as parameters

我知道之前在stackoverflow上曾問過這個問題。 但是,我還沒有找到使用郵遞員等實際測試服務的答案。

我遵循了文檔,並且我的服務與文檔中描述的幾乎相同:

@PostMapping("/someUrl")
public ResponseEntity<Void> uploadFile(@RequestPart(name="foo", required = false) Foo foo, @RequestPart("file") MultipartFile file) {
    return new ResponseEntity<>(OK);
}

當我嘗試使用Postman加熱服務時,出現以下錯誤:

org.springframework.web.multipart.MultipartException:當前請求不是多部分請求

在郵遞員身上,我得到了以下回報

郵差

問題是 :是否可以使用郵遞員致電我的服務? 如果是,我缺少什么參數?

是的,可以使用郵遞員致電您的服務。

而不是將JSON作為文本發送,而是創建一個包含要發送的JSON數據的文件(例如test.json ):

{
    "teste": "abc"
}

然后在form-data部分中,將foo字段的類型從Text更改為File,然后選擇您創建的JSON文件。

就是這樣。 單擊發送 ,您的請求將被正確處理。

注意:標頭應保留為空,即標頭不應包含任何自定義Content-Type值。

在將多部分文件與json數據結合使用時,Postman似乎出現問題。 https://github.com/postmanlabs/postman-app-support/issues/576

您可以使用curl來測試您的服務,如下所示。

curl -v -H "Content-Type:multipart/form-data" -F "foo={\"teste\":\"abc\"};type=application/json" -F "file=@amazon.png"  http://localhost:8080/v1/files/someURL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM