首先要明白400错误是什么意思:
由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。
然后在java代码中,打印请求的url,会发现url中存在空格,可能是使用各种序列化根据(Gson等)导致的。
这时候要把url中的所有空格替换点,url.replaceAll(" ","")。
这时候在请求就好了。
为什么浏览器上访问可以呢?因为浏览器(我用的是谷歌)他自动帮你把空格转化成了'%20'了,
这时候在tomcat读url的时候就不会读到空格,因为tomcat在解析url的时候,会把空格前的字符串当做key,后面的字符串当做value。
所以解析失败,返回400错误。