[关闭]
@HUST-SuWB 2018-04-22T10:39:19.000000Z 字数 732 阅读 368

HTTP数据传输类型

Finlabtech


起因

与外部第三方进行对接的时候,可能会碰到数据传输类型的问题。比如最近开发的一个接口,对方用postman测试调用后提出希望把调用时的Content-Typeapplication/x-www-form-urlencoded改为application/json

常用的几种类型[1]

  1. Http Header里的Content-Type一般有这三种:
  2. application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。
  3. multipart/form-data 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
  4. text/plain 数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。postman软件里标的是RAW
  5. formenctype属性为编码方式,常用有两种:application/x-www-form-urlencodedmultipart/form-data,默认为application/x-www-form-urlencoded

对应的controller注解

因为在Controller里的入参注解习惯性使用@RequestParam,导致使用application/json的方式传输json格式的文本时拿不到请求参数,这时就得改成@RequestBody了,因为@RequestParam接收的是键值对的参数[2]

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注