通過 Feign 進行檔案上傳
阿新 • • 發佈:2020-08-09
轉載請註明出處:
專案為spring cloud 專案,專案中對各部分能力業務進行了拆分,將公共的服務能力放在一個模組當中,通過
Feign 的方式 進行呼叫,feign 呼叫的本質還是http內部通訊請求,實現模組之間的呼叫。
通過feign進行檔案上傳時,feign 側示例程式碼如下:
@FeignClient public interface UploadClient { @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) String uploadFile(@RequestPart(value= "file") MultipartFile file, @RequestParam String uploadPath); }
檔案屬性需要使用@RequestPart 屬性,而且在請求中新增consumes = MediaType.MULTIPART_FORM_DATA_VALUE ,
檔案表單上傳請求通常使用的ContentType為multipart/form-data ,通過以上直接呼叫feign的方式即可實現feign 檔案上傳
以下為 @RequestPart 與 @RequestParam 的區別:
1. @RequestPart這個註解用在multipart/form-data表單提交請求的方法上。
3. @RequestParam也同樣支援multipart/form-data請求。
4. 他們最大的不同是,當請求方法的請求引數型別不再是String型別的時候。
5. @RequestParam適用於name-valueString型別的請求域,@RequestPart適用於複雜的請求域(像JSON,XML)。