1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import feign.RequestInterceptor; import feign.RequestTemplate; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import java.util.Objects;
@Component public class FeignClientInterceptor implements RequestInterceptor{
@Override public void apply(RequestTemplate template) { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (Objects.nonNull(requestAttributes)) { HttpServletRequest request = requestAttributes.getRequest(); String userLang = request.getHeader("UserLang"); if (StringUtils.isNotBlank(userLang)) { template.header("UserLang", userLang); } } } }
|