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

MediaType 到底是什么?(OkHttp 里必懂的知识点)

简单说:MediaType 就是 HTTP 请求里的「Content-Type」,用来告诉服务器:我传给你的数据是什么格式、什么编码。

它是 OkHttp 里的一个类,全称:okhttp3.MediaType


一、核心作用

你发请求给服务器时,必须告诉对方数据格式,不然服务器无法解析。 比如:

  • 我发的是JSON
  • 我发的是表单
  • 我发的是图片 / 文件
  • 编码是UTF-8

MediaType 就是干这个的。


二、最常用的 3 种 MediaType(背下来就能用)

1. JSON 格式(最常用)

java

运行

MediaType JSON = MediaType.parse("application/json; charset=utf-8");

意思:

  • application/json:数据是 JSON 格式
  • charset=utf-8:编码用 UTF-8

2. 表单格式(登录 / 注册)

java

运行

MediaType FORM = MediaType.parse("application/x-www-form-urlencoded");

一般用在FormBody不需要自己手动传,OkHttp 会自动处理。

3. 文件 / 图片上传

java

运行

MediaType IMAGE = MediaType.parse("image/jpeg"); MediaType FILE = MediaType.parse("application/octet-stream");
  • image/jpeg:jpg 图片
  • application/octet-stream:任意二进制文件(通用)

三、怎么用?(看一眼就懂)

示例:发 JSON 数据必须带 MediaType

java

运行

String json = "{\"username\":\"test\"}"; RequestBody body = RequestBody.create(json, MediaType.parse("application/json; charset=utf-8"));

这里如果不写对 MediaType,服务器会报错!比如返回:415 不支持的媒体类型、400 参数错误。


四、MediaType 和 Content-Type 关系

你可以理解成:

  • MediaType = OkHttp 里的代码对象
  • Content-Type = HTTP 请求头里的字段名

最终发请求时,OkHttp 会自动把 MediaType 变成:

plaintext

Content-Type: application/json; charset=utf-8

五、超简总结

  1. MediaType = 数据格式说明
  2. 发 JSON 必须用:application/json; charset=utf-8
  3. 发文件用:image/jpegapplication/octet-stream
  4. 写错会导致服务器无法解析、接口报错
http://www.zskr.cn/news/1402700.html

相关文章:

  • 矿场通信系统里的一个“小模块“:用 A‑59U 做巷道对讲 / 呼叫柱的免提全双工音频前端
  • SpiNNaker:异步事件驱动架构与神经形态计算的编程模型解析
  • Outfit字体实战指南:3个常见设计难题的终极解决方案 [特殊字符]
  • WindowResizer终极指南:3分钟学会强制调整任意窗口大小
  • Windows Defender禁用与恢复终极指南:5个简单步骤解决安全中心问题
  • Wi-Fi HaLow AP能耗优化:基于吸收马尔可夫链的MAC层竞争窗口调优
  • SystemVerilog断言(SVA)避坑指南:从‘空成功’到‘可变延时’,这些隐藏的坑你踩过几个?
  • VESC Tool保姆级教程:从电机校准到CAN总线调试避坑全记录
  • 合宙ESP32-C3刷MicroPython固件翻车实录:从驱动冲突到flash_download_tool救砖指南
  • 魔兽地图格式转换工程实践:构建跨版本兼容的地图开发流水线
  • 从Java EE到Jakarta EE:TongWeb8命名空间切换功能详解与实战避坑
  • 联想拯救者Y7000系列BIOS高级设置一键解锁工具:释放硬件潜能的完整指南
  • 如何用pk3DS打造你的专属宝可梦世界?完整实用指南
  • Keyboard Chatter Blocker终极指南:5分钟彻底解决键盘连击问题
  • 3种高效方案彻底修复Windows Defender防护功能
  • LSTM结构化剪枝与FPGA硬件加速:从算法原理到工程实现
  • 容器安全深度解析:从Linux内核隔离到硬件级防护实践
  • SPN结构轻量级密码硬件评估:从FPGA实现到侧信道安全分析
  • 基于Rust与Tauri构建本地AI会议助手:开源、免费、隐私优先
  • 长沙包包回收店推荐三家高价好店变现省心、快捷无套路,心念奢品稳居前列 - 断舍离奢侈品测评站
  • 基于图嵌入与LCG相似性的固件漏洞检测技术解析
  • 宜兴消防设施操作员考证机构排行:核心服务维度对比 - 互联网科技品牌测评
  • OkHttpClient 详解(Android/Java 最常用 HTTP 客户端)
  • 长沙二手奢侈品回收测评:5 家高变现门店推荐,心念奢品第一,壹刻时韵紧随其后 - 断舍离奢侈品测评站
  • 【MATLAB】水声通信信道均衡与解码程序仿真
  • 2026黄岩装修公司测评:真实数据告诉你谁是top10! - 疯一样的风
  • 2026中卫市本地人必选的公共卫生检测专业机构TOP5推荐!美容院、足疗店、酒店宾馆卫生检测、许可证办理,正规CMA资质检测公司排名推荐 (2026年5月商铺卫生办证最新深度调研方案) - 防水补漏3
  • 从蓝桥杯模拟赛2的PWM控制题,深入理解STM32 HAL库定时器重装载值与比较值的动态设置技巧
  • Unity GLTF导入3大难题:如何用GLTFUtility实现零错误配置?
  • STM32CubeMX HAL库隐藏技能:深入SysTick滴答定时器,自己写个精准的毫秒级非阻塞延时模块