Content-Type中的text/plain和application/json用法及注意点

2018-08-20 / 17 阅读 / Java

说下我粗浅的理解

Content-Type是http请求中用来标识我发送的数据是什么类型。例如text/xml,application/x-www-form-urlencoded,multipart/form-data,都是用来表示内容的类型的。

这次主要针对text/plain和application/json

  • text/plain 纯文本

  • application/json json格式

其实我在项目中两个都曾经用过,而我主要用于json请求。在请求时都是在Request Playload中,看下图:

对于请求端其实区别不是太大,但对于后台服务,则处理不同了。

application/json
在SpringMVC中,application/json类型可以直接在请求方法中映射为对象实体,也就是说请求体被框架主动处理了。

text/plain
而text/plain不行,他们目标不一样。所以如果是text/plain需后台接受者自己处理,接受者会获取到原始的输入流,甚至编码都需要自己处理。(被这个坑过o(╥﹏╥)o,以为是IDE编码和TOMCAT设置错误。)

所以在使用的时候要注意:

  • 如果业务明确是JSON格式,那建议使用application/json。

  • text/plain使用时要注意手动处理,如果请求复杂JSON无法瞒住这个选择也不错。相对自由度更大一点。

相关推荐