首页 > 其他分享 >spring cloud 之 openfeign 记录(通过feign上传)

spring cloud 之 openfeign 记录(通过feign上传)

时间:2023-05-31 17:48:06浏览次数:47  
标签:feign 上传 openfeign spring oss MultipartFile os

今日搭建好nacos nacos 踩坑记录 迫不及待的进入了下一步,服务间的远程调用,就踩了一个小小的坑 

我做的是一个阿里oss上传的服务! 阿里oss服务个人可以有三个月试用,对新手非常的友好

首先是一个openfeign编写上的问题

    @RequestMapping(value = "/common/oss/download",method = RequestMethod.POST)
    public Boolean downloadFile(@RequestParam("os") OutputStream os , @RequestBody FileDto fileDto);

需要注意的是一个请求中只可以有一个@RequestBody

但是普通参数可以写多个,并且普通参数一定要写 @RequestParam("os") 这个注解进行限制,否则启动时会报错

特殊的表单提交,例如:MultipartFile 类型的文件不需要使用注解进行标注

使用MultipartFile 类型的文件在服务调用间传输时 需要在请求中增添属性consumes = MediaType.MULTIPART_FORM_DATA_VALUE,代码如下

    @RequestMapping(value = "/common/oss/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    String uploadFile(MultipartFile file);

下文是一个比较好的文章,如果觉得有用请给它点赞 feign文件上传踩的坑

文件上传的服务很是麻烦,麻烦在普通的服务中调用超时问题,这个后面再考虑吧

标签:feign,上传,openfeign,spring,oss,MultipartFile,os
From: https://www.cnblogs.com/xgphpstudy/p/17446870.html

相关文章

  • Spring MVC官方文档学习笔记(二)之DispatcherServlet
    1.DispatcherServlet入门(1)SpringMVC是以前端控制器模式(即围绕着一个中央的Servelt,DispatcherServlet)进行设计的,这个DispatcherServlet为请求的处理提供了一个共用的算法,即它都会将实际的处理工作委托给那些可配置的组件进行执行,说白了,DispatcherServlet的作用就是统......
  • springboot整合log4j解决依赖冲突
    首先将web模块的日志排除<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion>......
  • SpringBoot的基础
    1、获取配置文件的值:@Value的方式yml配置文件redis:host:199.22.22.341.1、用法1:普通用法@Value("${redis.host}")privateStringparamName;结果1.2、用法2:冒号(:)的作用冒号(:)的作用:当获取的值没有值时,返回冒号后的预设值默认值@Value("${redis......
  • Java实战-基于JDK的LRU算法实现、优雅的实现代码耗时统计(Spring AOP、AutoCloseable
    场景Java中基于JDK的LRU算法实现LRU算法-缓存淘汰算法-Leastrecentlyused,最近最少使用算法根据数据的历史访问记录来进行淘汰数据,其核心思想是:如果有数据最近被访问过,那么将来被访问的几率也更高在Java中可以利用LinkedHashMap容器简单实现LRU算法LinkedHashMap底层就是用......
  • Spring boot actuator端点启用和暴露
    SpringBoot1.x版本#关闭所有端点endpoints.enabled=false#开启/health端点endpoints.health.enabled=trueSpringBoot2.x版本#关闭所有端点management.endpoints.enabled-by-default=false#开启/health端点management.endpoint.health.enabled=true......
  • SpringBoot 多环境部署
    多个配置文件application.yamlapplication-dev.yamlapplication-test.yamlapplication-prod.yaml加载顺序默认加载application.yamlprofiles.active==dev合配置使用不同配置application.yaml中profiles.active:devnohupjava-Duser.timezone=Asia/Shanghai-j......
  • SpringBoot整合OSS文件上传
    一、注册阿里云账号并开通OSS服务1、登录阿里云账号2、创建一个bucket3、创建子用户对自用户分配权限,打开操作OSS的全部权限(也可根据业务需求进行更改)4、配置上传跨域规则任何来源:*允许方法:POST任何请求头Headers:*二、文件上传方式1、服务器直传方式每个O......
  • Spring Boot中starter的原理是什么?如何实现一些starter?
    原理:核心就是@EnableAutoConfiguration注解,在该注解中有一个@Import注解。@Import注解导入了配置类:AutoConfigurationImportSelector.class。在该类中使用SpringFactoriesLoader.class加载配置文件META-INF/spring.factories。实现也starter需要实现一下步骤:autoconfigure模块......
  • Spring AOP错误:org.springframework.beans.factory.BeanNotOfRequiredTypeException:
    org.springframework.beans.factory.BeanNotOfRequiredTypeException:Beannamed'myCalculator'isexpectedtobeoftype'com.mashibing.service.MyCalculator'butwasactuallyoftype'com.sun.proxy.$Proxy19'atorg.springframew......
  • 前端 React + vite + Typescript 后端 java + springmvc + jwt 跨域 解决方案
    首先后端配置跨域:web.xml文件: <!--配置跨域--><filter><filter-name>header</filter-name><filter-class>org.zhiyi.config.Cross</filter-class></filter><filter-mapping><......