前言
今天七夕佳节,静静地听落雨的声音,先祝大家七夕节日快乐~
前一段时间自己测试接口,发现postman 传参为中文时会报错400,参数传不过去,当时测试比较着急,就把接口地址粘到了浏览器的地址栏中,传中文进行测试,也不能一直这样“将就”不是,拿来看看怎么解决吧。
正文
问题
postman 传参 报错400 状态码
解决
在postman 的地址栏处右击,可以看到菜单(如下面图1)最后两栏是EncodeURIComponent( 编码)、DecodeURIComponent(解码);
想要传参调用后台接口的时候选中中文参数,再选择EncodeURIComponent,中文就被编码,调用成功,如下图;
当想调整参数时,选择DecodeURIComponent 进行解码修改就可以了~~
是不是很方便呢~~
分析
当在浏览器地址栏直接输入接口地址时,参数中有中文为啥就可以请求成功呢?
因为一个http请求发送到Servlet服务器之前,浏览器会把url( 以及post 请求提交的内容)经过编码发送到服务器,服务器接收到之后会解码,进行处理,再把结果编码返回给浏览器,浏览器按照指定的编码显示网页结果;
url http请求(post/get) -------> 服务器 -------> 浏览器(网页)
- 请求经过编码到达了服务器;
- 服务器解码,处理请求,将结果编码返回给浏览器;
- 浏览器 按照编码格式解码显示网页
总结
记录技术生活的点点滴滴,七夕快乐~~