【Easylive】consumes = MediaType.MULTIPART_FORM_DATA_VALUE 与 @RequestPart

发布时间:2026/8/1 20:57:40
【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,consumesMediaType.MULTIPART_FORM_DATA_VALUE)publicStringuploadImage(RequestPartMultipartFilefile,RequestParamBooleancreateThumbnail){...}•consumes必须和客户端ResourceClient一致否则会报 415 Unsupported Media Type 错误。RequestPart和RequestParam的作用1.RequestPart处理文件或复杂数据• 适用场景• 用于接收 文件MultipartFile 或 非简单类型数据如 JSON 字符串。• 示例RequestPartMultipartFilefile// 接收上传的文件• 调用时Feign 会自动将文件转换成multipart/form-data格式发送。2.RequestParam处理普通表单字段• 适用场景• 用于接收 普通参数如String、Boolean、Integer。• 参数会以keyvalue形式拼接到 URL 或表单中。• 示例RequestParamBooleancreateThumbnail// 接收布尔值参数• 调用时Feign 会把它变成?createThumbnailtrue或表单字段。3. 对比总结注解用途常见参数类型HTTP 传输方式RequestPart文件或复杂数据MultipartFilemultipart/form-data格式RequestParam普通字段简单类型String、BooleanURL 查询参数?keyvalue或表单字段