测试一个第三方的对接接口测试 用spring 框架的接口接收,对方发送端一直报错
Timeout waiting for connection from pool
而用 postman 模拟调用又没问题
原因竟然是 发送方采用 Content-Type:application/x-www-form-urlencoded
application/x-www-form-urlencoded
表示使用URL编码的方式来编码表单, 是浏览器默认的编码格式
原来 我方需要模拟 浏览器请求对方的接口,所以现在测试的 接收端口必须要 能接收 Content-Type:application/x-www-form-urlencoded 的请求,而 spring 框架的接口常用的接收格式是 json,所以导致接收超时。
》》所以只要保证 能接收 pplication/x-www-form-urlencoded 就可以
需要这样
@PostMapping(value = "/appLogin") @ResponseBody public Object appLogin(@RequestParam Map<String, String> params) throws InterruptedException { TokenParam tokenParam = new TokenParam(); for (Map.Entry entry : params.entrySet()) { Object key = entry.getKey(); String string = key.toString(); tokenParam = JSON.parseObject(string, TokenParam.class); break; } }
就是要 map 来接收,然后通过 json 转换成对象。解析过程需要根据发送方做调整。比如上边的例子中,数据只放在map的key中,有时候可能在value中。
-
-
-
- 完毕