session 存储后 在调用另外接口无法获取问题
request.getSession().setAttribute(Constants.SESSION_PHONE_CODE,code);
request.getSession().setAttribute(Constants.SERVER_TIME,new Date());
request.getSession().setAttribute(Constants.SESSION_PHONE_NUMBER,tel);
- 通过request中对session的赋值将对应code给存入后面接口无法获取获取为空
@PostMapping(Constants.CONTEXT_IGNORE+"/codeLogin")
@SneakyThrows
public Ret codeLogin(String tel,String code,String sessionId,HttpServletRequest request){
if (!StringUtils.isNoneEmpty(tel,code)){
return Ret.success("参数不能为空");
}
String sessionPhoneCode = String.valueOf(request.getSession().getAttribute(Constants.SESSION_PHONE_CODE));
System.err.println(sessionPhoneCode);
- 上述代码中获取为空的这时主要是网关代码中没有加入sensitiveHeaders
zuul:
retryable: true
host:
socket-timeout-millis: 120000
connect-timeout-millis: 120000
routes:
api-a:
path: /api-app
- sensitiveHeaders会过滤客户端附带的headers sensitiveHeaders: “*” 则所有不过滤