为什么接口设计都不用普通 POST ?

现在很多新的接口设计出来以后,POST发送的数据都是json而不是浏览器中常见的key=value&key=value键值对格式。
json格式的优缺点我还是比较熟悉的,但是在这里键值对格式同样能解决问题。
那么请问为什么这样设计呢?
慕田峪7331174
浏览 931回答 2
2回答

慕娘9325324

json传输是带类型的,你说的传统的POST是Content-Type:application/x-www-form-urlencoded,就表示虽然也按键/值传递了,但确实字符串,本来数据该有的类型被忽略了。json类型的数据可以比较好的支持嵌套的数据格式,这种数据格式在后端可以和文档数据库(比如mongodb)的存储结构直接对应;在前端可以和js的数据对象直接对应。采用Content-Type:application/x-www-form-urlencoded势必要增加工作量,譬如:数据转型,类型校验等等

白猪掌柜的

浏览器中的key=value&key=value是拼接在url上然后传递给server的,别说用的是POST请求,其实和GET没啥区别。虽然都能解决问题,但有优劣之分。1.用KV连接URL,使得URL比较丑陋。2.用KV连接URL,如果有敏感信息,存在安全问题。3.用KV连接URL,长度有限制。如果用JSON,可以使用requestbody发送数据,就回避了第一点第三点,第二点相对来说要好点。JSON格式的数据现在比较通用,各种语言支持性都比较好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript