出错情景
编写接口时将请求参数直接拼接在url后面,但由于参数内容长度可变,当请求过长时导致请求失败。
错误信息
java.lang.IllegalArgumentException: Request header is too large
请求头超过了Tomcat服务器限值
解决方法
将请求参数转而在请求体中设置
例:原请求
https://域名/user/upload?mobile=111111111111&img=XXXXXXXXXXXX
转
请求头过大解决方法至此结束
服务器获取请求参数方法相应修改
原获取查询字符串
(HttpServletRequest)request.getQueryString()
改
//读取request请求体参数字符串
public static String ReadAsChars(HttpServletRequest request)
{
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try
{
br = request.getReader();
String str;
while ((str = br.readLine()) != null)
{
sb.append(str);
}
br.close();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (null != br)
{
try
{
br.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
return sb.toString();
}