开发者

关于Unsupported Media Type的解决方案

开发者 https://www.devze.com 2024-10-29 11:37 出处:网络 作者: 缘丶沐逸尘
目录415是什么错误?两种解决办法顺便记录一下常见的媒体格式类型常见的媒体格式类型以application开头的媒体格式类型总结今天碰到一个问题,就是自身的一个接口被第三方的业务回调的时候出现了一个415的错误,也就是
目录
  • 415是什么错误?
  • 两种解决办法
  • 顺便记录一下常见的媒体格式类型
    • 常见的媒体格式类型
    • 以application开头的媒体格式类型
  • 总结

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

    415是什么错误?

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

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

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

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

    两种解决办法

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

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

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

    常见的媒体格式类型

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

    以application开头的媒体格式类型

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

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

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号