当前位置:首页 > 服务端 > 通过 Feign 进行文件上传

通过 Feign 进行文件上传

2022年11月06日 22:42:06服务端8

转载请注明出处:

  项目为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)。

 

作者:香吧香
来源链接:https://www.cnblogs.com/zjdxr-up/p/13466696.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68219.html

标签: Feign
分享给朋友:

“通过 Feign 进行文件上传” 的相关文章

SpringCloud:Feign模块引用版本问题

java.io.FileNotFoundException: class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class] cannot...

SpringCloud笔记五:Feign

SpringCloud笔记五:Feign

目录 什么是Feign? 有了Ribbon我还要Feign干嘛? 新建consumer-feign 修改api项目 引入Maven文件 新建feign...

SpringCloud系列——Feign 服务调用

SpringCloud系列——Feign 服务调用

  前言   前面我们已经实现了服务的注册与发现(请戳:SpringCloud系列——Eureka 服务注册与发现),并且在注册中心注册了一个服务myspringboot,本文记录多个服务之间使用Feign调用。   Feign是一个声明性web服务客户端。它使编写web服...

springcloud之Feign、ribbon设置超时时间和重试机制的总结

springcloud之Feign、ribbon设置超时时间和重试机制的总结

一 超时时间配置 如果在一个微服务当中对同一个接口同时配置了Hystrix与ribbon两个超时时间,则在接口调用的时候,两个计时器会同时读秒。 比如,访问一个接口需要2秒,你的ribbon配置的超时时间是3秒,Hystrix配置的超时时间是1秒。 在这种情况下,程序...

Springcloud踩坑记---使用feignclient远程调用服务404

Springcloud踩坑记---使用feignclient远程调用服务404

公司项目进行微服务改造,由之前的dubbo改用SpringCloud,微服务之间通过FeignClient进行调用,今天在测试的时候,eureka注册中心有相应的服务,但feignclient就是无法调通,一直报404错误,排查过程如下: 一、问题:   服务提供方定义的接...

SpringCloud(三)-  OpenFeign简介及@FeignClient等注解的使用

SpringCloud(三)- OpenFeign简介及@FeignClient等注解的使用

《 心有多大,舞台就有多大 人得有—理想 》 OpenFeign简介及@FeignClient等注解的使用 唯能极于情,故能极于剑 有问题或错误请及时联系小编或关注小编公众号 "CodeCow",小编一定及时回复和改正,期待和大家一起学习交流 此...

SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)使用详解

SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)使用详解

前言 本篇主要介绍的是SpringCloud中的服务消费者(Feign)和负载均衡(Ribbon)功能的实现以及使用Feign结合Ribbon实现负载均衡。 SpringCloud Feign Feign 介绍 Feign是一个声明式的Web Serv...

Feign服务之间的鉴权问题

Feign服务调服务传递数据的时候,需要带token验证的,而调用那个用户服务的时候被用户服务方拦截然后没有token进不去接口,很明显的是因为没有token导致,那么Feign里面有提供一个接口叫做RequestInterceptor,只要实...

feign 启用gzip压缩

feign 启用gzip压缩

目录 1.项目中启用gzip压缩 2.在feign 服务提供方开启http压缩(很重要) 3.启用httpclient 4.还有一点很容易忽略的,引入httpclient jar包,同时注意和openfeign的版本一致。 一.最近项目要在f...

声明式服务消费Feign——4(使用Feign实现消费者服务熔断)

声明式服务消费Feign——4(使用Feign实现消费者服务熔断)

使用Feign实现消费者服务熔断 服务熔断 1.在yml文件开启 hystrix功能 2.指定熔断回调逻辑 3.测试...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。