获取requestBody内容
/**
* @Description: requestBody的处理
* @userName: J
* @param request
**/
public static void processRequest(HttpServletRequest request)
{
try
{
request.setCharacterEncoding("UTF-8");
int size = request.getContentLength();
InputStream is = request.getInputStream();
byte[] reqBodyBytes = readBytes(is, size);
//获取请求body中的内容
String res = new String(reqBodyBytes);
request.setAttribute("params", res);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static final byte[] readBytes(InputStream is, int contentLen) {
if (contentLen > 0) {
int readLen = 0;
int readLengthThisTime = 0;
byte[] message = new byte[contentLen];
try {
while (readLen != contentLen) {
readLengthThisTime = is.read(message, readLen, contentLen - readLen);
if (readLengthThisTime == -1) {// Should not happen.
break;
}
readLen += readLengthThisTime;
}
return message;
} catch (IOException e) {
// Ignore
e.printStackTrace();
}
}
return new byte[]{};
}
原文地址:
https://blog.youkuaiyun.com/before_morning/article/details/49780445