Springboot request.getHeader()获取不到参数值记录

ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();

 HttpServletRequest request = servletRequestAttributes.getRequest();

String isRecord = request.getHeader("LOGCLOUD_IS_RECORD");

前端请求中,确认请求头中已经携带了LOGCLOUD_IS_RECORD参数了,后端始终获取不到。

请求通过了nginx代理。后来排查nginx默认或忽略请求头中key携带"_"的值。

解决:

nginx的server中增加配置:

underscores_in_headers on; #该属性默认为off,表示如果header name中包含下划线,则忽略掉。

建议:规范请求头参数key命名,“-”代替“_”。


版权声明:本文为qq_34074582原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。