springcloud feign 的header头设置

发布时间 2023-04-03 17:06:13作者: 张释文

header设置透传

/**
 * 设置openfien请求时的header
 */
@Configuration
public class FeignRequestInterceptor implements RequestInterceptor {
    private static final String CONTENT_LENGTH_KEY = "content-length";
    @Override
    public void apply(RequestTemplate template) {
        HttpServletRequest request = RequestContextHandler.get();
        if (request != null) {
            Enumeration<String> headerNames = request.getHeaderNames();
            while (headerNames.hasMoreElements()) {
                String headName = headerNames.nextElement();
                //跳过 content-length
                if(!CONTENT_LENGTH_KEY.equals(headName)){
                    template.header(headName, request.getHeader(headName));
                }
            }
        }

    }
}