通過 Feign 進行文件上傳


轉載請注明出處:

  項目為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表單提交請求的方法上。
2. 支持的請求方法的方式MultipartFile,屬於Spring的MultipartResolver類。這個請求是通過http協議傳輸的。
3. @RequestParam也同樣支持multipart/form-data請求。
4. 他們最大的不同是,當請求方法的請求參數類型不再是String類型的時候。
5. @RequestParam適用於name-valueString類型的請求域,@RequestPart適用於復雜的請求域(像JSON,XML)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM