package com.ard.tianyu.http; import com.ard.tianyu.config.TyConfiguration; import com.ard.tianyu.model.receiver.AccessTokenReceiver; import com.dtflys.forest.http.ForestRequest; import com.dtflys.forest.interceptor.Interceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; @Component @Slf4j public class TokenInterceptor implements Interceptor { @Resource private TyConfiguration tyConfiguration; /** * 该方法在请求发送之前被调用, 若返回false则不会继续发送请求 * * @Param request Forest请求对象 */ @Override public boolean beforeExecute(ForestRequest req) { log.info("invoke Simple beforeExecute"); // 执行在发送请求之前处理的代码 // 从缓存里获取token AccessTokenReceiver accessToken = tyConfiguration.getAccessToken(); req.addHeader("x-cid", accessToken.getCompanyId()); req.addHeader("x-token", accessToken.getAccessToken()); // req.addHeader("Authorization", "")); // 添加Header // req.addQuery("username", "foo"); // 添加URL的Query参数 return true; // 继续执行请求返回true } }