当前位置: 代码网 > it编程>编程语言>Java > 关于Unsupported Media Type的解决方案

关于Unsupported Media Type的解决方案

2024年10月25日 Java 我要评论
今天碰到一个问题,就是自身的一个接口被第三方的业务回调的时候出现了一个415的错误,也就是unsupported media type。之后查了些资料,总结一下。415是什么错误?对于当前请求的方法和

今天碰到一个问题,就是自身的一个接口被第三方的业务回调的时候出现了一个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就不写到上述两类中去了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com