Feign客户端请求远程服务接口时,需要携带token进行认证(详见《微服务迁移记(六):集成jwt保护微服务接口安全》),token有超时时间设置,当超时后,需要重新刷新token。如果每个接口都去判断,那就费事了,最好的办法是在拦截器里做。我这里使用的是OkHttp,新增一个OkHttpInterceptor的拦截器:
@Slf4j
public class OkHttpInterceptor implements HandlerInterceptor,Interceptor {
@Autowired
private ApiInitService apiInitService;
@Autowired
private RedisUtil redisUtil;
@Value("${app_id}")
String app_id;
@Value("${app_secret}")
String app_secret;
@Override
public Response intercept(Chain chain) throws IOException {
log.info("进入okhttp拦截器");
Request request = ch