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

【Easylive】consumes = MediaType.MULTIPART_FORM_DATA_VALUE 与 @RequestPart

【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版
consumes = MediaType.MULTIPART_FORM_DATA_VALUE 的作用
1. 定义请求的数据格式
• 作用:告诉 Feign 和 HTTP 客户端,这个接口 接收的是 multipart/form-data 格式的数据(通常用于文件上传)。

• 为什么需要它?

• 文件上传(MultipartFile)必须用 multipart/form-data 格式传输,不能直接用 JSON 或普通表单。

• 不加这个参数,服务端可能无法正确解析文件。

2. 对应服务端的 @RequestPart
• 服务端(easylive-cloud-resource)的接口:

@PostMapping(value = "/inner/file/uploadImage", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String uploadImage(@RequestPart MultipartFile file, @RequestParam Boolean createThumbnail) { ... }

consumes 必须和客户端(ResourceClient)一致,否则会报 415 Unsupported Media Type 错误。


@RequestPart@RequestParam 的作用
1. @RequestPart:处理文件或复杂数据
• 适用场景:

• 用于接收 文件(MultipartFile) 或 非简单类型数据(如 JSON 字符串)。

• 示例:

@RequestPart MultipartFile file  // 接收上传的文件

• 调用时,Feign 会自动将文件转换成 multipart/form-data 格式发送。

2. @RequestParam:处理普通表单字段
• 适用场景:

• 用于接收 普通参数(如 StringBooleanInteger)。

• 参数会以 key=value 形式拼接到 URL 或表单中。

• 示例:

@RequestParam Boolean createThumbnail  // 接收布尔值参数

• 调用时,Feign 会把它变成 ?createThumbnail=true 或表单字段。

3. 对比总结

注解用途常见参数类型HTTP 传输方式
@RequestPart文件或复杂数据MultipartFilemultipart/form-data 格式
@RequestParam普通字段(简单类型)StringBooleanURL 查询参数(?key=value)或表单字段

相关文章:

  • 【英语语法】词法---连词
  • Spring是如何实现资源文件的加载
  • LX5-STM32F103C8T6引脚分布与定义
  • longchain使用通义千问
  • 如何对只能有一个`public`顶层类这句话的理解
  • 大文件分片上传进阶版(新增md5校验、上传进度展示、并行控制,智能分片、加密上传、断点续传、自动重试),实现四位一体的网络感知型大文件传输系统‌
  • Maxscript调用Newtonsoft.Json解析Json
  • 从 TinyZero 到 APR:语言模型推理能力的探索与自适应并行化
  • Linux——入门常用基础指令
  • 基于unsloth微调一个越狱大模型
  • Linux——信号(2)信号保存与捕捉
  • CompletableFuture并行处理任务
  • 《MySQL:MySQL表的基本查询操作CRUD》
  • ros2 humble moveit调试笔记
  • docker基本命令1
  • Day-1 漏洞攻击实战
  • QT:Qt5 串口模块 (QSerialPort) 在 VS2015 中正确关闭串口避免被占用
  • 推荐系统/业务,相关知识/概念1
  • Sentinel源码—7.参数限流和注解的实现一
  • 如何在白平衡标定种构建不同类型的白平衡色温坐标系
  • 男子为讨喜钱掰断劳斯莱斯小金人,警方:已介入处置
  • 广西三江通报“网约车司机加价”:对网约车平台进行约谈
  • 牛市早报|现货黄金价格站上3400美元,上交所召开私募机构座谈会
  • 新闻1+1丨居民水电气计量收费乱象,如何治?
  • 夜读丨一位医生0点后的朋友圈
  • 外媒:罗马教皇方济各去世