@HUST-SuWB
2018-04-22T10:39:19.000000Z
字数 732
阅读 368
Finlabtech
与外部第三方进行对接的时候,可能会碰到数据传输类型的问题。比如最近开发的一个接口,对方用postman测试调用后提出希望把调用时的Content-Type由application/x-www-form-urlencoded改为application/json。
Http Header里的Content-Type一般有这三种:
application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。postman软件里标的是RAW。
form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。
因为在Controller里的入参注解习惯性使用@RequestParam,导致使用application/json的方式传输json格式的文本时拿不到请求参数,这时就得改成@RequestBody了,因为@RequestParam接收的是键值对的参数[2]。