与客户系统进行接口对接,结果对方推送过来的数据流解析后一直为空,最后查看他们的代码。
发现他们的编码属性设置如下:
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
查看资料发现,pplication/x-www-form-urlencoded
编码的数据会被当做parameter来解析,所以tomcat在解析数据流的时候,数据会被当做请求的paramaters,而不能再通过 request 的 inputstream 直接读取。
让客户将代码修改如下,解决问题:
httpConn.setRequestProperty("Content-Type", "text/html;charset=utf-8");