SpringBoot方法中獲取Request和Response
阿新 • • 發佈:2018-12-18
很多時候方法中沒有帶引數HttpServletRequest 和HttpServletResponse ,但是我們需要用到這個引數。
場景:
我們將使用者的登陸資訊存入了redis以token作為Key,在某些地方需要獲取使用者資訊,我們就需要獲取請求頭中的token。
這時候我們需要獲取HttpServletRequest來獲取 請求頭。
public Integer getUserId() { ServletRequestAttributes sra = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); HttpServletRequest request = sra.getRequest(); //HttpServletResponse response = sra.getResponse(); return Integer.valueOf((String)redisTemplate.opsForHash().get(UserConstant.TOKEN_KEY + request.getHeader("token"), "userId")); }