SpringBoot打印参数为何显示内存地址?
作者:暮色微凉
时间:2025-06-25
浏览:4
SpringBoot无效的请求参数打印在SpringBoot中,我们经常需要打印请求参数以调试或记录目的。然而,当使用...
本文目录

SpringBoot 请求参数打印问题及解决方法
在 SpringBoot 应用中,调试时打印请求参数是常见需求。然而,直接使用 request.getParameterMap() 方法打印结果时,经常会遇到打印出内存地址而不是参数值的情况,或者 HTTP 头信息缺失。
问题分析:
-
内存地址输出:
request.getParameterMap()返回的是一个Map,键是参数名,值是参数值的字符串数组。log.info()直接打印数组对象时,输出的是其内存地址。 -
HTTP 头信息缺失:
request.getParameterMap()只获取请求体(body)中的参数,HTTP 头信息无法通过此方法获取。
解决方案:
为了正确打印请求参数及其值,需要将参数值数组转换为字符串:
Map parameterMap = request.getParameterMap();
parameterMap.forEach((key, value) -> log.info("参数名: {}, 参数值: {}", key, Arrays.toString(value)));
这段代码迭代 parameterMap,使用 Arrays.toString() 将参数值数组转换为易于阅读的字符串格式。
如果需要打印 HTTP 头信息,请使用 request.getHeader(headerName) 方法,其中 headerName 是要获取的头信息名称。例如:
String userAgent = request.getHeader("User-Agent");
log.info("User-Agent: {}", userAgent);
通过以上方法,即可在 SpringBoot 应用中正确打印请求参数和 HTTP 头信息,方便调试和日志记录。
作者最新文章
PDF怎么按页拆成单独文件?PDF按页拆分后怎么命名
2026-11-03 18:00
长网页转PDF怎么避免断图?网页转PDF怎么设置分页
2026-11-01 09:31
夸克资源库蓝光资源每日更新经典电视剧全集
2026-10-30 11:54
会声会影怎么导入音频 支持格式及步骤
2026-10-29 12:23
WPS表格常用功能实操:从录入到排序筛选的完整流程
2026-10-29 09:57
下一篇:
鸿蒙系统兼容性解析
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































