獲取請求body部分資料
阿新 • • 發佈:2019-02-13
獲取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[]{};
}
原文地址: