package com.fxtech.config; import com.fxtech.base.filter.ShopFilter; import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.util.Enumeration; @Configuration public class FeignConfiguration implements RequestInterceptor { @Override public void apply(RequestTemplate template) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); Enumeration<String> headerNames = request.getHeaderNames(); if (headerNames != null) { while (headerNames.hasMoreElements()) { String name = headerNames.nextElement(); String values = request.getHeader(name); template.header(ShopFilter.INNER_TOKEN, ShopFilter.INNER_TOKEN_VALUE); } } } }
复写这个拦截器然后添加header,然后在fegin中添加
@FeignClient(value = "${remote.feign.salesOrder.name}",configuration = FeignConfiguration.class)