怎么判断http请求参数是表单还是json?

题主想问的应该是如何判断一个http请求它的数据传输方式是表单形式还是json形式。比如我们看悟空问答的页面其中一个请求:看它的content-type:application/json,很明显这是一个json格式的请求。实际上现在大多数的API数据传输都是采用json形式的。

Content-Type

在http协议请求头中,用Content-Type代表具体请求中的媒体类型信息。例如上图中的“content-type:application/json”。

常见的媒体类型有如下几种:

  • text/html:HTML格式

  • text/plain:纯文本格式

  • text/xml:XML格式

  • image/gif:gif图片格式

  • image/jpeg:jpg图片格式

  • image/png:png图片格式

application开头的媒体类型有:

  • application/xhtml+xml:XHTML格式

  • application/xml:XML数据格式

  • application/atom+xml:Atom XML聚合格式

  • application/json:json数据格式

  • application/pdf:pdf格式

  • application/msword:Word文档格式

  • application/octet-stream:二进制流数据格式(文件下载)

  • application/x-www-form-urlencoded:表单提交方式

  • multipart/form-data:文件上传数据格式

我们日常比较常用的就是application/json、application/x-www-form-urlencoded、multipart/form-data三种数据格式进行http请求。

如何区分?

  1. 浏览器开发者工具下直接可以查看请求的媒体类型

  2. 开发中,比如Java语言下采用SpringMVC框架开发,在HttpServletRequest对象中,request.getHeader("content-type")即可输出请求的媒体类型,可以根据不同的请求类型采取对应的方式解析数据。




第一,当content-type为application/json 的时候,http post请求数据必须是json的。任何框架都必须遵守这个协议,如果不支持,则说明框架不完善。

第二,当content-type为x-www-form-urlencoded 的时候,post的请求数据必须是表单的。其中key1和key2就是参数。




通过content-type进行判断

展开阅读全文

页面更新:2024-06-20

标签:表单   数据传输   开发者   悟空   开头   图片格式   框架   问答   形式   协议   参数   类型   格式   方式   媒体   数据   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top