新版OpenFeign springboot3.0
1.导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.Feign接口
@FeignClient(name = "MainClient", url = "${main-client.url}", configuration = TokenFeign.class)
public interface CompanyMainClient {
3.Feign过滤器
import com.tigeriot.organization.global.token.service.TokenService;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.beans.factory.annotation.Autowired;
public class TokenFeign implements RequestInterceptor {
@Autowired
private TokenService tokenService;
@Override
public void apply(RequestTemplate requestTemplate) {
String adminToken = tokenService.getAdminToken();
requestTemplate.query("token",adminToken);
}
}
4.全局Feign过滤器
@Configuration
public class FeignRequestInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate template) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes attr = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = attr.getRequest();
String authz = request.getHeader("Authorization");//网关传过来的 token
template.header("Authorization", authz);
template.header("x-auth-request-user", "99999999");
}
}
原文地址:https://blog.csdn.net/qq_53374893/article/details/138190184
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!