spring cloud 之 openfeign 记录(通过feign上传)
今日搭建好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文件上传踩的坑
添加一句,使用表单传输特殊数据如'文件'时不要使用如@RequestParam("os")等注解进行限制,那会让spring认为它是那个类型的数据,从而就收不到表单提交的数据,发生一些相关的错误
文件上传的服务很是麻烦,麻烦在普通的服务中调用超时问题,这个后面再考虑吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通