Spring cloud 在跨服务调用(feign) 需要设置 公共参数 和请求头参数 处理方式

67 阅读1分钟
package com.erp.init.config.filter;

import com.erp.init.constant.CommonConstant;
import com.erp.init.utils.RequestUtils;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class SendRequestFilter implements RequestInterceptor {

    @Value("${spring.application.name}")
    private String currentProject;

    @Override
    public void apply(RequestTemplate template) {
        String token = RequestUtils.getToken();
        template.header("project", currentProject);
        template.header(CommonConstant.HEADER_AUTHORIZATION, token);

    }
}

实现 RequestInterceptor 这个接口 即可 可以给 请求头 添加各种信息