当前位置: 首页 > news >正文

MultipartFile文件与传递body并存问题

文章目录

  • 关于MultipartFile文件与传递JsonBody并存问题
  • 解决数据流与参数同时传递的问题

关于MultipartFile文件与传递JsonBody并存问题

基于spring框架,如果是上传文件,接口采用MultipartFile接收数据流,如果是body,接口采用@RequestBody,这些都比较熟悉的。但是如果遇到既要又要的场景,能不能同时传递?

首先想到的方法就是尝试,写一个具有两个特点入参的测试接口,然后测试。结果发现在postman编辑的时候已经不支持了,MultipartFile和jsonBody同属于body,二者互斥,只能选择其其一,所以MultipartFile文件与传递JsonBody并存问题就不是问题,压根就不能共存。

解决数据流与参数同时传递的问题

方法一:采用restful风格

estful属于参数在url上占位的优雅方式,但是这个方式不适合大数据,否则这个url将会变得很长,很难读懂。

方法二:将json数据封装到Query

RequestParam方式属于在url后面拼接参数,所以也是有一定的上限,所以拼接数据大小尽量不能大于4kb,建议也是少量参数使用。

方法三:formdata多参数传递

在postman上也是能发现formdata是支持多数据流的,支持file格式和text格式,但是需要注意这里不是直接传递json字符串,而是像Query那样拆解字段。不过对于后端的同学来说,写法上代码与query方式没有区别。

但是对于请求方来说,区别还是很明显的,看下面请求方式

curl --request POST \--url http://localhost:8090/test \--header 'content-type: multipart/form-data' \--form 'file=@C:\Users\000095133\Desktop\test.xlsx' \--form id=92142373412864 \--form userName=13800\--form company=1

从请求方式可以看出,三个参数是跟随formdata传递的,就不会像Query那样出现拼接url的情况,整体也变得优雅。


http://www.mrgr.cn/news/58270.html

相关文章:

  • 探索Python与Excel的无缝对接:xlwings库的神秘面纱
  • Vue3 + Element Plus 封装文本超出长度显示省略号,鼠标移上悬浮展示全部内容的组件
  • sass的使用
  • nginx 隐藏版本号与WEB服务器信息
  • Java中的接口是什么?如何实现接口?
  • 序列的定义与使用
  • RK3568 android11 usb接口TP与电磁笔触点上报优先级问题
  • 【运维心得】U盘启动安装Dell服务器踩坑指南
  • 【JavaScript】JavaScript 进阶-2-构造函数数据常用函数(更新中)
  • Python:背景知识及环境安装
  • Linux内核常见的网络丢包场景分析,零基础入门到精通,收藏这一篇就够了
  • 强推!清华大佬强力打造,绝对是2024年人工智能入门天花板教程!
  • 智慧农业大数据平台:智汇田园,数驭未来
  • 220V降12V0.5A500mA恒压WT5105
  • 【话题】创智时代:人工智能重塑生活与工作
  • 空间转录组 | ​Stereo-seq在疾病中的应用研究
  • C++ 设计模式 - 每日持续更新中
  • httpd服务
  • 怎么区分主谓宾I love you与主系表I am fine? 去掉宾语看句子完整性 主系表结构则侧重于描述主语的状态、特征或性质
  • 移远通信亮相重庆燃气展:以多领域技术实力推动燃气发展安全化、智能化
  • (自用复习题)常微分方程07
  • 如此酷的锁屏时钟屏保 怎么能不告诉你
  • Vue3侦听器监听数据变化早于mapContext初始化的问题
  • 软物质流变探究:从宏观微观差异,到水凝胶界面特性
  • 【算法系列-二叉树】二叉树遍历系列(递归+迭代)
  • 钰泰ETA4553电压电平转换器IC