在springboot项目中我们在自己idea中可能会出现不能使用bean工厂注册restTemplate/stringrestTemplate;可以使用如下方式进行测试
webUtil工具类获取前端页面传来的token值
package com.tenli.util;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author pibigstar
* @desc 获取request和response对象
**/
public class WebUtil {
/** 获取request对象 **/
public static HttpServletRequest getRequest(){
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes == null){
return null;
}
return ((ServletRequestAttributes)requestAttributes).getRequest();
}
/** 获取response对象 **/
public static HttpServletResponse getResponse(){
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes == null){
return null;
}
return ((ServletRequestAttributes)requestAttributes).getResponse();
}
}
pom.xml中加入jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
<scope>compile</scope>
</dependency>
service实现类方法中获取相应实体类值
//获取请求头中携带的token数据
String key = WebUtil.getRequest().getHeader("token");
//获取redis中的用户信息
Jedis jedis = new Jedis("49.143.158.218",3893);
String s = jedis.get(key);
//将redis中取得的值进行实体类 格式转换
User use = JSON.parseObject(s, User.class);
// System.out.println(use+"这里是根据token从redis中获取到的值");