关于Unsupported Media Type的解决方案

 更新时间:2024年10月25日 10:55:12   作者:缘丶沐逸尘  
在Web开发中,415错误表示服务器无法处理请求附带的媒体格式,本文介绍了导致HTTP 415错误的原因以及解决该问题的两种方法,首先,415错误通常是由于客户端请求的内容类型与服务器期望的不匹配引起的,例如,服务器可能期望JSON格式的数据

今天碰到一个问题,就是自身的一个接口被第三方的业务回调的时候出现了一个415的错误,也就是Unsupported Media Type。之后查了些资料,总结一下。

415是什么错误?

对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。

也就是说第三方发给己方服务器参数格式和服务器所要求的的参数格式不一样

比如第三方传的是’application/x-www-form-urlencoded;charset=UTF-8’(前端表单默认的格式,会将键值对的参数用&连接起来

如果有空格,将空格转换为+加号;有特殊符号,将特殊符号转换为ASCII HEX值),而服务器需要的是json格式,这样就会出现415错误

两种解决办法

主要有两种分别对应了服务端和客户端

  • 服务端:调整接口接收参数的方式。比如要是接收的是json字符串格式的参数,就使用@RequestBody注解整体接收;接收用&连接起来的参数则用@RequestParam注解一一接收。
  • 客户端:调整上传参数的格式,按照接口需求的参数进行传递。

顺便记录一下常见的媒体格式类型

常见的媒体格式类型

  • text/html :HTML格式
  • text/xml :XML格式
  • text/plain :纯文本格式
  • image/gif :gif图片格式
  • image/jpeg :jpg图片格式
  • image/png :png图片格式

以application开头的媒体格式类型

  • application/x-www-form-urlencoded :form表单中默认的格式,form表单数据被编码为key/value格式发送到服务器。
  • application/json :JSON数据格式
  • application/xml :XML数据格式
  • application/xhtml+xml :XHTML格式
  • application/atom+xml :Atom XML聚合格式
  • application/pdf :pdf格式
  • application/msword :Word文档格式
  • application/octet-stream :二进制流数据(如常见的文件下载)

当然还有一个form表单中使用到的文件上传格式:multipart/form-data就不写到上述两类中去了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SSH原理及两种登录方法图文详解

    SSH原理及两种登录方法图文详解

    SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密。本文通过图文并茂的形式给大家介绍了SSH原理及两种登录方法,一起看看吧
    2018-08-08
  • postman测试post请求参数为json类型的实例讲解

    postman测试post请求参数为json类型的实例讲解

    下面小编就为大家分享一篇postman测试post请求参数为json类型的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • JAVA中的构造函数(方法)

    JAVA中的构造函数(方法)

    这篇文章主要介绍了JAVA中的构造函数(方法),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Spring cloud如何实现FeignClient指定Zone调用

    Spring cloud如何实现FeignClient指定Zone调用

    这篇文章主要介绍了Spring cloud如何实现FeignClient指定Zone调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • HelloSpringMVC注解版实现步骤解析

    HelloSpringMVC注解版实现步骤解析

    这篇文章主要介绍了HelloSpringMVC注解版实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Mybatis sqlMapConfig.xml中的mappers标签使用

    Mybatis sqlMapConfig.xml中的mappers标签使用

    这篇文章主要介绍了Mybatis sqlMapConfig.xml中的mappers标签使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。
    2022-01-01
  • SpringBoot+SpringSession+Redis实现session共享及唯一登录示例

    SpringBoot+SpringSession+Redis实现session共享及唯一登录示例

    这篇文章主要介绍了SpringBoot+SpringSession+Redis实现session共享及唯一登录示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java使用MessageFormat应注意的问题

    Java使用MessageFormat应注意的问题

    这篇文章主要介绍了Java使用MessageFormat应注意的问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • SpringBoot集成百度AI实现人脸识别的项目实践

    SpringBoot集成百度AI实现人脸识别的项目实践

    本文主要介绍了SpringBoot集成百度AI实现人脸识别的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Java MCP 的鉴权深度解析

    Java MCP 的鉴权深度解析

    文章介绍Java MCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权,使用solon-ai-mcp等工具可简化流程,整体配置较为便捷,感兴趣的朋友跟随小编一起看看吧
    2025-08-08

最新评论