只是个获取的方法,没测试会不会产生什么问题
想要好用的可以去百度找
传送门:拦截器中查看body
/**
* 获取body数据
*
* @param request
* @return
* @throws IOException
*/
public String getBodyString(HttpServletRequest request) throws IOException {
StringBuilder sb = new StringBuilder();
InputStream inputStream = null;
BufferedReader bufferedReader = null;
try {
inputStream = request.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
char[] bodyCharBuffer = new char[1024];
int len = -1;
while ((len = bufferedReader.read(bodyCharBuffer)) != -1) {
sb.append(new String(bodyCharBuffer, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭流
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// if (inputStream != null) {
// try {
// inputStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
return sb.toString();
}
```
本文介绍了一个Java方法,演示如何在拦截器中获取HttpServletRequest的body数据。通过InputStream和BufferedReader逐字节读取,适合快速理解HTTP数据处理。
3002

被折叠的 条评论
为什么被折叠?



